JavaScript之“==”和“===”

== 和 === 都是比较运算符。它们有什么区别?

如果类型不同,就一定不相等。

字符串、布尔类型相等,对比值相等,则相等。

如果引用同一个对象或数组,则相等,否则不等。

如果两个都是null 或undefined 则相等,否则不等。

NaN属性用来表示非数字的字符只能用方法isNaN()判断。因为每个NaN都不同。

如果类型相同,则规则与“===”已知,比较值是否相同。

如果类型不同,也有可能相等。

如果一个为null一个为undfined,两个值相等。

如果一个是字符串,一个是数值,把字符串转换为数值后再比较。

根据以上的规则,举例子,以便于理解。