Phi*_*ord 3 javascript syntax comparison jslint operators
来自PHP我理解在比较操作中使用== verses ===的区别,但使用JavaScript是否可以使用==或===?
我想验证我的JavaScript代码并找到了JSLint.在使用JSLint运行验证时,我看到了这些类型的消息.
一些例子:
var show = $('input[name=female]:checked').val() == "true";
Run Code Online (Sandbox Code Playgroud)
和
var show = $('input[name=living]:checked').val() != "false";
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,使用当前语法==或!=是有效/正确还是我需要使用===和!==?
编辑:只是指出代码确实有效
它在某种程度上是正确的,但JSLint期望严格比较以防止类型转换的问题.
最好只在你真正需要/想要它的地方使用严格比较和"正常"比较(因为你想因某种原因使用类型转换).
从JSLint的文档:
==和!=
在
==和!=运营商做比较之前强制类型转换.这是不好的,因为它会导致' \t\r\n' == 0要true.这可以掩盖类型错误.如果您只关心某个值是 真或假,那么请使用简短形式.代替
Run Code Online (Sandbox Code Playgroud)(foo != 0)说啊
Run Code Online (Sandbox Code Playgroud)(foo)而不是
Run Code Online (Sandbox Code Playgroud)(foo == 0)说
Run Code Online (Sandbox Code Playgroud)(!foo)始终使用
===和!==运算符.
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |