【问题标题】:jQuery/Javascript the comparison operators "===" and "=="jQuery/Javascript 比较运算符“===”和“==”
【发布时间】:2016-11-05 07:20:54
【问题描述】:
在 Dreamweaver cc 2015 中,当我在 jquery/javascript 编程中使用比较运算符时,例如:
if(x == "")
DW 显示预期为 === 的错误,但看到的是 ==。我的问题是 === 和 == 之间有什么区别?
正如我在 C# 等其他语言中所知道的那样,=== 运算符意味着比较将检查值的数据类型以及值。在 javascript 或 jquery 中,如果我使用 == 而不是 === 有什么问题吗?还是 jquery / javascript 中的结果仍然相同?
【问题讨论】:
标签:
javascript
jquery
comparison
operators
【解决方案1】:
在 Javascript 中,=== 不会尝试强制您正在测试的变量的类型,而== 会在需要比较这些变量时尽最大努力对这些变量进行“类型转换”。
例如,1 == '1' 返回 true,而 1 === '1' 返回 false,因为您将数字与字符串进行比较。
最后,jQuery 和纯 javascript 都使用相同的 === 和 == 运算符。因此,两者之间不会有任何区别。
MDN documentation也不错。
【解决方案3】:
== 和 === 运算符之间存在细微差别。如果您使用 == 这意味着您仅比较值,例如 (5=='5') 将返回 true,而第一个操作数是整数,第二个操作数是字符串。现在考虑与 === 相同的示例,即( 5==='5') 将返回 false,因为 '===' 运算符将检查值以及类型转换,在这种情况下整数不能等于字符串。希望对您有所帮助。