1. 程式人生 > >js 在==時,則會有一些讓人難以理解的陷阱

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//在比較之前字串和布林值都轉換成數字