Answers:
这是测试变量是否不为NULL的方法:
if (myVar !== null) {...}
如果myVar不为null,则将执行该块。如果myVar未定义,为false或0
或NaN
其他任何值,则将执行该块。
("")
和未定义。请参阅我的小提琴作为参考:jsfiddle.net/b0tm7yaf
在这篇文章中阅读:http : //enterprisejquery.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-2/
一般而言,它有一些关于JavaScript的不错的技巧,但它确实提到的一件事是,您应该检查null,例如:
if(myvar) { }
它还提到了您可能没有意识到的所谓“虚假”。
if(myVar) { code }
仅当myVar
等于:false, 0, "", null, undefined, NaN
或您从未定义变量时,才会执行您内部的代码myVar
(否则,代码将停止执行并引发异常)。if(myVar !== null) {code}
仅在myVar
等于null
或从未定义时才执行(抛出异常)。你们都拥有(src)
如果
==(其否定!=)
===(其否定!==)
我刚遇到另一种可能的情况。
我进行了ajax调用,并以字符串格式将数据返回为null。我不得不像这样检查它:
if(value != 'null'){}
因此,null是一个字符串,它读为“ null”,而不是真正的null。
编辑:应该理解,我不以应有的方式出售它。我曾设想过这是唯一可以完成的方法。我不确定为什么……也许写后端的那个人错误地显示了数据,但是不管怎么说,这是现实生活。令人沮丧的是,有人理解这一点是不正确的,但后来又被真正有用的人投票了。
null
字符串,不如解析您的值。
value = JSON.parse(value)
然后使用简单而适当的value != null
测试
您在此处列出的两个条件语句并不比另一个更好。您的用法取决于情况。顺便说一下,在第二个示例中,您有一个错字。感叹号后只能有一个等号。
第一个示例确定myVar中的值是否为true并在{...}内部执行代码
第二个示例评估myVar是否不等于null,并且在这种情况下为true,它将在{...}内执行代码
我建议研究一下条件语句以了解更多技术。一旦熟悉它们,就可以决定何时需要它们。
=
至关重要,这对问题产生了巨大的影响。也许您不知道JavaScript中是否存在!==
and ===
运算符?