1

在我看来,Javascript 有很多奇怪的怪癖。这是其中之一

var a;
!a //true, a is not set
a = null
!a //true, a is not set
a = 1
!a //false, a is set!
a = 0
!a//true, a is not set!

我发现所有这些值都非常合理,除了 a = 0 的情况,这对我来说是完全错误的。有没有任何合理的方法可以规避这个问题,而不必在我的代码中添加大量内容?

4

2 回答 2

1

使用typeof检查它

if(typeof(a) != "undefined") {
     //code goes here
}

这里有一些相关的问题。

如何检查 JavaScript 中是否定义了变量?

测试是否在javascript中定义了变量?

于 2013-04-16T06:46:44.930 回答
0
if (typeof a !="undefined")
{
 //write your code here
}
于 2013-04-16T06:55:09.813 回答