Js中“==”和“===”的区别

从字面上来讲,‘==’代表相等,‘===’代表严格相等。

具体来讲,比较过程如下:

比较过程:

  ‘==’: 

      1. 首先判断两个值的类型是否相同,如果相同,进行‘===’判断。

      2.    如果两个值类型不同,进入以下情况:

                    若是null==undefined,则返回true

                    若是字符串和数值进行比较,则先把字符串转化成数值,然后进行比较

  

  ‘===’:

    1.如果类型不同,返回false

    2.如果是字符串,若对应位置字符相同,返回true

    3.如果是数值,如果值相等,返回true。但如果有NaN存在,返回false

    4.true===true,false===false

    5.null===null,   undefined===undefined

这里还有一种情况:

如果两个对象都是数组,无论是'=='还是'===',都会返回false        

猜你喜欢

转载自www.cnblogs.com/Filishope/p/10832235.html
今日推荐