代码改变世界

常见的字符串隐式转换

2016-09-24 11:38  平凡故事  阅读(1099)  评论(0编辑  收藏  举报

32+32          //64

"32"+32        //"3232"

"32"-32         //0

"32"-0          //32    (将字符串转换为数字)

7-"a"    //NaN

"a"-"b"    //NaN

+{}[true]    //NaN

!{}[true]        //true

+!{}[true]        // 1

+[1]      //1

+[1,2]     //NaN 

7/0         // Infinity

!null      // true

!undefined    //true

!NaN      //true

 

 

 

"1.23"==1.23           //true            (尝试string转number)

0==false                  //true            (尝试boolean转number)

0==null        //false

null==undefined         //true

null==false      //false

new Object()==new Object()         //true    

[1,2]==[1,2]                                   //true   

new String("hi")=="hi"                  //true             (object==number|string尝试对象转为基本类型) 

 

 

全等"==="

类型不同,返回false;

类型相同:

    NaN≠NaN

    new Object≠new Object

    null===null

    undefined===undefined