== 判斷相等的規則,當兩邊類型不一致時
在js高級程序設計中(第三版51頁)是這么說的: 在轉換不同的數據類型時,相等或者不相等應遵循一下幾條規則: 1. 如果有一個操作數是布爾值,則在比較相等之前將其轉換為數值————false轉換為0,true轉換為1; 2. 如果一個操作數是字符串,另一個操作符是數值,則在比較相等之前先講字符串轉換為數值; 3. 如果一個操作數是對象,另一個操作數不是,則調用對象的valueOf()方法,用得到的基本類型值按照前面的規則進行比較。 回到這個題目中,根據規則1,先將布爾值轉換為數值1,變換為字符串和數值的比較。再根據規則2,將字符串轉為數值,NaN。顯然不等。
=== 判斷嚴格相等,必須是類型先一致,否則都不等