关于js中“==”和“===”的区别

1.===:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false。

     例:100===“100”   //返回false

              abc===“abc”   //返回false

              ‘abc’===“abc”  //返回true

              NaN===NaN   //返回false

              false===false  //返回true

2.==:两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较。

     类型转换规则:1)如果等号两边是boolean、string、number三者中任意两者进行比较时,优先转换为数字进行比较。

                                 2)如果等号两边出现了null或undefined,null和undefined除了和自己相等,就彼此相等

     例:100==“100”    //返回true

              1==true          //返回true

               “1”==“01”      //返回false,此处等号两边值得类型相同,不要再转换类型了!!

               NaN==NaN  //返回false,NaN和所有值包括自己都不相等。

猜你喜欢

转载自blog.csdn.net/scwmason/article/details/80714317