2010-03-25 47 views
1

在普通的JavaScript,我可以檢查任何如何檢查Facebook中未定義的JavaScript值?

if (i == undefined) 

or 

if (i === undefined) 

或 「typeof運算」。

但是,在Facebook內,它將在undefined中附加api_key作爲前綴。

也就是說,它將成爲

if (a12345_i == a12345_undefined) 

這不是不確定的。

那麼,我能做些什麼來確定變量是否未定義?


嗯,感謝所有的答案,但我認爲我應該強調一件事。我在正常的JavaScript環境中檢測空值沒有問題。我面臨的挑戰是當它作爲FBML應用程序在Facebook上。

+0

我建議如果>> {...} <<情況除外之間存在語義差別(X!) 「」/ 0/null/undefined(其中我發現很少,但它們確實存在),這應該很好。 – 2010-03-26 21:39:30

回答

0

嘗試......

if (i == null) or if (i === null) 
if (i == '') or if (i === '') 
0

您可以使用x == null,這將檢查nullundefined。但是,你做的檢查應該工作。雖然a12345_undefined看起來undefined,它是。只要

var notDefined; 
if (x === notDefined) { // ... 

因爲你從來沒有分配到任何變量undefined(成爲a12345_undefined)你應該罰款:舉例來說,這將很好的工作。 undefined只是JavaScript中的一個正常變量,它只是以undefined的值開始。您可以使用任何沒有值的變量作爲undefined的比較。

希望是有道理的。

1

的typeof(VAR)返回一個字符串,你應該檢查:

typeof(var) == 'undefined' 
相關問題