可能重复:
Javascript === vs == : Does it matter which “equal” operator I use?
Javascript operator !==
JavaScript中!=
与!==
相同吗?
答案 0 :(得分:105)
他们巧妙地不一样。
!=
检查值
!==
检查值并输入
'1' != 1 // false (these two are the same)
'1' !== 1 // true (these two are **not** the same).
在前面的例子中。表达式的前半部分是字符串,后半部分是整数。
答案 1 :(得分:13)
来自
http://en.wikipedia.org/wiki/JavaScript_syntax#Operators
!==不一样
!=不等于
AND“相同意味着相同和相同的类型。”
这
http://docstore.mik.ua/orelly/webprog/jscript/ch05_04.htm
“在JavaScript中,数字,字符串和布尔值按值进行比较。 ... 另一方面,通过引用比较对象,数组和函数。 “
-
总结一下,它们是一样的吗?不,因为还有一个额外的测试,使用!==(over!=)来确定类型的相同性和相同性。
答案 2 :(得分:9)
不,它不一样。请参阅示例here。
4 !== '4' returns true (and 4 === '4' returns false)
4 != '4' returns false (and 4 == '4' returns true)
答案 3 :(得分:6)
最大的区别在于!=执行类型强制。也就是说,在检查相等性之前,有效地将一个值强制转换为另一个值。这就是Amadiere的回答:
'1' != 1
评估为false。对于== v。===也是如此。通常,避免==和!=,除非您特别希望执行强制。使用===和!==并检查您正在寻找的结果。
答案 4 :(得分:0)
不仅检查价值,还检查比较物品的类型。在php和其他一些语言中也是如此。
答案 5 :(得分:0)
请查看JSLint以了解差异。我还建议你通过JSLint至少传递一次JavaScript代码,你可能会学到有价值的东西......