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

相关文章
相关标签/搜索