鍍金池/ 問答/HTML5  HTML/ js面試題[0]==[0] [0]==0 {}==0,這三個的結果是什么,為什么

js面試題[0]==[0] [0]==0 {}==0,這三個的結果是什么,為什么?

百度直接搜完全搜不到,可能跟它的搜索機制有關吧,所以來這請哪位大神解答,非常感謝

回答
編輯回答
離夢

我來分別回答一下:

  • [0] == [0]false, 是因為兩個數(shù)組的地址不一樣
  • [0] == 0true, [0]會先轉(zhuǎn)為原始值,即‘0’ == 0
  • {} == 0會報錯,是因為在瀏覽器的控制臺上直接這樣寫的話,{}當作空代碼塊,而不是對象,最后執(zhí)行實際上是 == 0,如果你寫({} == 0)則為false。
2017年6月17日 18:53
編輯回答
墨小白

查這個js相等運算規(guī)則

相等運算符,簡單的講:

  1. 類型不同時會進行類型轉(zhuǎn)換;
  2. 類型相同且是對象(包括數(shù)組等)是引用類型時會比較地址。
2018年1月5日 02:46