2012-04-16 284 views
7

如何测试我的JavaScript代码中的变量是否已初始化?如何测试Javascript中的变量是否已初始化?

这个测试应该

var foo; 

和真实的返回false的

var foo = 5; 
+0

if'(foo == null)?'或者你是否需要处理它已被初始化为null的情况? – Aidanc 2012-04-16 20:59:00

+0

可能的重复[JavaScript检查变量是否存在 - 哪种方法更好?](http://stackoverflow.com/questions/5113374/javascript-check-if-variable-exists-which-method-is-better) – 2012-04-16 21:02:00

+0

实际上,是的,我需要与null区分,谢谢! – 2012-04-16 23:16:15

回答

10
if (foo === undefined) { /* not initialized */ } 

或偏执

if (foo === (void) 0) 

这是诸如此类的事情,你可以在你的JavaScript中进行测试c onsole。只需声明一个变量,然后将其用于(即,作为)表达式。控制台打印的内容对于你需要做的事情是一个很好的暗示。

5

使用typeof运算符可以使用下面的测试:

if (typeof foo !== 'undefined') { 
    // foo has been set to 5 
} 
else { 
    // foo has not been set 
} 

我找到了jQuery基本面JavaScript Basics章真的很有用。

我希望这会有所帮助。

+0

这也适用于功能。比较一个非初始化的函数与空(如在答案中)将引发异常。 – f2lollpll 2013-08-20 13:11:55