Possible Duplicates: Which equals operator (== vs ===) should be used in JavaScript comparisons? What is the difference between != and !== operators in JavaScript?
Look at this commit:
Is != the same as !== in JavaScript?
!=
!==
不,这是不一样的。看例子 给你。
4 !== '4' returns true (and 4 === '4' returns false) 4 != '4' returns false (and 4 == '4' returns true)
它们微妙地不同。
!=检查值 !==检查值和类型
'1' != 1 // false (these two are the same) '1' !== 1 // true (these two are **not** the same).
在前面的例子中,表达式的前半部分是一个字符串,后半部分是一个整数。
它不仅检查价值,而且类型的东西比较。
这在 PHP和其他一些语言中也是一样的。
来自 JavaScript 语法,Operators,
不一样
不平等
“相同的意思是相等和相同的类型。”
来自 Rel = “ nofollow norefrer”> 5.4等式运算符 :
”在 JavaScript 中,数字、字符串和布尔值通过值进行比较。 ... 另一方面,对象、数组和函数通过引用进行比较。”
--
所以总的来说,它们是一样的吗?不,因为有一个附加的测试!= = 结束!=)对于 一致性类型和 平等类型。
最大的区别就是!= 执行类型强制。也就是说,在检查相等性之前,将一个值有效地强制转换为另一个值。这就是为什么,就像 Amadiere 的回答那样:
'1' != 1
评估为 false。同样的道理也适用于 = = v = = 。一般来说,避免 = = 和!= 除非你特别想要强制执行。使用 = = = 和!= = 并检查正是你所寻找的结果。