如何检查Facebook中未定义的JavaScript值?

时间:2010-03-25 04:17:06

标签: javascript facebook undefined

在普通的JavaScript中,我可以检查

if (i == undefined)

or

if (i === undefined)

或“typeof”。

然而,在Facebook中,它将附加api_key作为未定义的前缀。

也就是说,它会变成

if (a12345_i == a12345_undefined)

未定义。

那么,我该怎么做才能找出变量是否未定义?


好的,感谢所有答案,但我想我应该强调一件事。在普通的JavaScript环境中检测null值没有问题。我面临的一个问题是Facebook作为FBML应用程序。

3 个答案:

答案 0 :(得分:1)

typeof(var)返回一个字符串,你应该检查:

typeof(var) == 'undefined'

答案 1 :(得分:0)

试试这个......

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

答案 2 :(得分:0)

您可以使用x == null来检查nullundefined。但是,你做的检查应该有效。虽然a12345_undefined 看起来不像undefined那样,但它确实如此。例如,这也可以起作用:

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

只要您从未将任何内容分配给变量undefined(变为a12345_undefined),您应该没问题。 undefined只是JavaScript中的常规变量,它只是以undefined值开头。您可以使用任何没有值的变量作为undefined的比较。

希望这是有道理的。