2012-04-16 273 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