當空對象和另一個數據求和的時候,如{} + []前面的空對象一般會當成一個空的代碼塊處理,變成+ [] // 0所以當空對象和空對象求和的時候{} + {}空對象當成代碼塊處理就等于+ {}結果應該是 NaN。但是在 Chrome 中{} + {} // "[object Object][object Object]"顯然是第一個空對象沒有當成代碼塊處理。在其他瀏覽器如 Firefox 或者 IE 中{} + {}結果都是 NaN。Chrome 中為什么不一樣,不太理解。
1 回答

慕婉清6462132
TA貢獻1804條經驗 獲得超2個贊
因為{} + {}
有不同的解析方式
{ } +{}
前面是一個空代碼塊
前后都當成一個對象進行解析,最后就是調用各自的
toString
方法,進行字符串拼接
為了避免以上歧義,可以使用({} + {})
,就可以達到一致了
添加回答
舉報
0/150
提交
取消