jQuery / Javascript比较运算符" ==="和" =="

时间:2016-11-05 07:20:55

标签: javascript jquery comparison operators

在dreamweaver cc 2015中,当我在jquery / javascript编程中使用比较运算符时:

 if(x == "")

DW显示预期 === 的错误,而是看到 == 。我的问题是===和==之间有什么区别? 正如我所知,在其他语言如C#等中,===运算符意味着比较将检查值的数据类型以及值。在javascript或jquery是否有任何问题,如果我使用==而不是===?或者结果在jquery / javascript中仍然相同?

3 个答案:

答案 0 :(得分:2)

在Javascript中,===不会尝试强制您正在测试的变量类型,而==会尽力排除'类型转换'那些变量如果需要比较它们。

例如1 == '1'返回true,而1 === '1'返回false,因为您要将数字与字符串进行比较。

最后,jQuery和纯javascript都使用相同的=====运算符。因此,两者之间不会有任何区别。

MDN documentation也很不错。

答案 1 :(得分:2)

==运算符将在执行任何必要的类型转换后比较相等性。 ===运算符不会执行转换,因此如果两个值不相同,则===将返回false。两者都同样快。
更多信息,您可以在堆栈oveflow中查看此答案 Which equals operator (== vs ===) should be used in JavaScript comparisons?

答案 2 :(得分:2)

==和===运算符之间存在细微差别。如果您正在使用==这意味着您只是比较值,例如(5 ==' 5')将返回true,而第一个操作数是整数,第二个操作数是string。现在考虑相同的例子=== ie(5 ===' 5')将返回false,因为' ==='运算符将检查值以及类型转换,在这种情况下,整数不能等于字符串。希望这会对你有所帮助。