nic*_*ckb 261 javascript comparison null-check
我知道以下是JavaScript中检查变量是否不是的两种方法null,但我很困惑哪种方法最好使用.
我应该这样做:
if (myVar) {...}
Run Code Online (Sandbox Code Playgroud)
要么
if (myVar !== null) {...}
Run Code Online (Sandbox Code Playgroud)
Tim*_*own 373
他们并不等同.第一个将在if语句后执行块,如果myVar是真实的(即true在条件中求值),而第二个将执行块,如果myVar是除了以外的任何值null.
在JavaScript中唯一不真实的值是以下(也称为虚假值):
nullundefined0"" (空字符串)falseNaNTol*_*rak 59
以下是测试变量是否为NULL的方法:
if (myVar !== null) {...}
如果myVar不为null,则执行该块.如果myVar未定义或为false或0或NaN其他任何内容,将执行该块.
Jon*_*ter 44
请阅读这篇文章:http://enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/
它有一些很好的JavaScript技巧,但它提到的一件事是你应该检查null,如:
if(myvar) { }
Run Code Online (Sandbox Code Playgroud)
它还提到了你可能没有意识到的被认为是"虚假"的东西.
我刚刚遇到另一种可能的情况.
我做了一个ajax调用,并以字符串格式将数据作为null返回.我必须这样检查:
if(value != 'null'){}
Run Code Online (Sandbox Code Playgroud)
因此,null是一个读取"null"而不是真正为null的字符串.
编辑:应该理解,我不是以应该的方式出售它.我有一个场景,这是唯一可行的方法.我不确定为什么......也许编写后端的人正在错误地呈现数据,但无论如何,这都是现实生活.令人沮丧的是,有人认为这不太正确,然后由实际上有帮助的人投票.
| 归档时间: |
|
| 查看次数: |
453360 次 |
| 最近记录: |