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//在比較以前字符串和布爾值都轉換成數字
 io

相關文章
相關標籤/搜索