==和===的区别和一些比较规则:
-
== 在比较类型不同的变量时,会进行数据类型转化,将二者转换成数据类型相同的变量,再进行比较。
-
NaN == NaN false NaN和任何数都不相等,包括NaN本身 。 [] == [] false {} == {} false 引用数据类型比较的是地址。
-
undefined == null true 但是 undefined === true false (因为数据类型不一样)。
-
对象 == 字符串 将对象转换成字符串.
-
剩下的其他情况如果两边数据类型不一样,都需要转换成数字类型。
-
-
=== 比较的二者数据类型不一样时,直接返回false。