在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ javascript解析問題: {}+[] 與 {} +{}

javascript解析問題: {}+[] 與 {} +{}

{}+[]    //0
{}+{}    //"[object Object][object Object]"

RT,為什么第一項開頭的{}被解析成塊作用域,而第二項開頭的{}沒有被解析成塊作用域。。

回答
編輯回答
編輯回答
編輯回答
朕略萌

可以參考的:http://www.cnblogs.com/ziyunf...

{}+[] 和 {}+{} 作為表達式和聲明返回的結果是不一樣的。
在聲明中開頭是{}才會被解析成塊作用域。在表達式中都會被先valueOf()一下,再toString()一下。

同時,firefox下{}+{} 返回值為NaN,說明firefox也是把它當作聲明來解析的。console.log({}+{})返回的就是"object Object"了,因為函數(shù)的參數(shù)是當作表達式來解析的。

至于chrome下,{}+{}返回值的原因,有可能是因為chrome把{}+{}解析成了一個表達式。
更具體的就不知道了,求采納。

2018年4月20日 02:32