在dreamweaver cc 2015中,当我在jquery / javascript编程中使用比较运算符时:
if(x == "")
DW显示预期 === 的错误,而是看到 == 。我的问题是===和==之间有什么区别? 正如我所知,在其他语言如C#等中,===运算符意味着比较将检查值的数据类型以及值。在javascript或jquery是否有任何问题,如果我使用==而不是===?或者结果在jquery / javascript中仍然相同?
答案 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,因为' ==='运算符将检查值以及类型转换,在这种情况下,整数不能等于字符串。希望这会对你有所帮助。