可能重复:
How to check for undefined or null variable in javascript
我想在javascript中检查一个已定义的变量。请参阅以下几个示例,并帮助我在Javascript中检查'a'是否为未定义(并检查其他任何内容)的最佳方法?
一个
if(a === undefined){...}
第二
if(a ===“undefined”){...}
第三
if(typeof a ==“undefined”){...}
最后
if(a){...}
答案 0 :(得分:2)
if(typeof a == "undefined") { ... }
是检查变量是否未定义的最佳方法
if(a === undefined) { ... }
通常是相同的,但是,与普遍看法相反,“未定义”不是javascript中的关键字,实际上可以为其分配值。此外,如果尚未声明或初始化a
,则会引发错误。
if(a === "undefined") { ... }
将检查a是否为值为“undefined”的字符串,并且对于所有false值(例如if(a) { ... }
和0),
null
将返回true
答案 1 :(得分:2)
if (typeof a == "undefined") {
....
}
答案 2 :(得分:2)
undefined
是实际值,因此,如果您执行a === "undefined"
,则只需检查已定义的变量是否已分配给undefined
的值。如果变量没有被提升,那么你会得到一个很好的错误。
if(a)
正在检查a
的值是true
还是false
。 JS中的undefined
因为许多其他值都是假的,所以它就是假的。但是,如果之前没有声明变量,那么这也会引发错误。
typeof a === "undefined"
是检查可能尚不存在的变量的正确方法。