这个问题已经在这里有了答案: javascript
JavaScript中==
和===
什么区别? 我也看到过!=
和!==
运算符。 还有更多这样的运营商吗? html
===
和!==
是严格的比较运算符: java
JavaScript具备严格和类型转换相等性比较。 为了
strict
相等,要比较的对象必须具备相同的类型,而且: spa
- 当两个字符串在相同位置具备相同的字符序列,相同的长度和相同的字符时,它们严格相等。
- 当两个数字在数值上相等时(具备相同的数值)严格相等。
NaN
不等于任何东西,包括NaN
。 正零和负零彼此相等。- 若是两个布尔操做数都为true或均为false,则它们严格相等。
- 若是两个对象引用相同的
Object
则它们严格相等。Null
和Undefined
类型为==
(但不是===
)。 [即(Null==Undefined
)为true
但(Null===Undefined
)为false
]
比较运算符-MDC code
在这里看看: http : //longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html htm
3个等号表示“没有类型强制的平等”。 使用三重等于,值的类型也必须相等。 对象
0 == false // true 0 === false // false, because they are of a different type 1 == "1" // true, automatic type conversion for value only 1 === "1" // false, because they are of a different type null == undefined // true null === undefined // false '0' == false // true '0' === false // false