2010-03-25 44 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' 
相关问题