-1

可能重复:
如何在 javascript 中检查未定义或空变量

我想检查 javascript 中定义的变量。请查看以下几个示例并帮助我在Javascript中检查'a'是否未定义(并且不检查其他内容)的最佳方法?

如果(a === 未定义){ ... }

第二

if(a === "未定义") { ... }

第三

if(typeof a == "未定义") { ... }

最后的

如果一个) { ... }

4

3 回答 3

2

if(typeof a == "undefined") { ... }是检查变量是否未定义的最佳方法。
if(a === undefined) { ... }通常是同一件事,然而,与普遍看法相反,“未定义”不是 javascript 中的关键字,实际上可以为其分配一个值。此外,如果a尚未声明或初始化,则会引发错误。

if(a === "undefined") { ... }将检查 a 是否是一个值为“未定义”的字符串,并
if(a) { ... }为所有假值返回真,例如null和 0。

于 2012-07-23T03:17:56.940 回答
2
if (typeof a == "undefined") {
    ....
}
于 2012-07-23T03:18:10.887 回答
2

undefined在 javascript 中是一个实际值,所以如果你这样做a === "undefined",你只是检查一个已经定义的变量是否具有undefined分配给它的值。如果变量还没有被提升,那么你会得到一个很好的错误。

if(a)正在检查的值atrue还是falseundefined在 JS 中,许多其他值都是错误的,因此它表现为错误。不过,如果之前没有声明变量,那么这也会引发错误。

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

于 2012-07-23T03:20:58.217 回答