关于javascript:检查是否设置了变量的最佳方法是什么?

What is the best way to check if a variable is set?

本问题已经有最佳答案,请猛点这里访问。

在我看来,javascript有很多奇怪的特性。这里有一个

1
2
3
4
5
6
7
8
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的情况,这对我来说是完全错误的。有没有任何合理的方法可以避免这个问题而不必添加到我的代码中?


使用typeof检查

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

以下是一些相关问题。

如何检查变量是否在javascript中定义?

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


1
2
3
4
if (typeof a !="undefined")
{
 //write your code here
}