js 在==時,則會有一些讓人難以理解的陷阱

  • 在==時,則會有一些讓人難以理解的陷阱。
    (function () {
         var undefined;
         undefined == null; // true
         1 == true; //true
         2 == true; // false
         0 == false; // true
         0 == ''; // true
         NaN == NaN;// false
         [] == false; // true
         [] == ![]; // true
    })();

 

和如下這些比較結果均是true:
 

null==undefined//這兩值被認爲相等
"0"==0//在比較之前字符串轉換成數字
0==false//在比較之前布爾值轉換成數字
"0"==false//在比較之前字符串和布爾值都轉換成數字
 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章