检查未定义的变量

时间:2012-07-23 03:14:37

标签: javascript

  

可能重复:
  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){...}

3 个答案:

答案 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)

javascript中的

undefined是实际值,因此,如果您执行a === "undefined",则只需检查已定义的变量是否已分配给undefined的值。如果变量没有被提升,那么你会得到一个很好的错误。

if(a)正在检查a的值是true还是false。 JS中的undefined因为许多其他值都是假的,所以它就是假的。但是,如果之前没有声明变量,那么这也会引发错误。

typeof a === "undefined"是检查可能尚不存在的变量的正确方法。