1

我有两个这样的变量:

var test = {"1":"test","2":"test2"};
var isdefined = "test.1"

如何检查 isdefined 变量不是“未定义”?

谢谢!

4

3 回答 3

1

你的问题的答案是否和是,

不,因为如果您的对象属性以数字开头或者它是一个数字,则您无法使用 objectName.12 访问它,这是您无法更改的规则,在您的情况下它是一个数字

另一方面,是的,如果您的对象定义正确,您可以做到,请检查下面的代码块;

var test = {"1":"test","_2":"test2"};
var isdefined = "test._2";
alert(eval(isdefined)); // will return test2
alert(eval("test.1"));  // throws exception.
于 2012-11-29T11:52:29.433 回答
1

您是否尝试测试是否1存在于 中test?在这种情况下,你可以做

test.hasOwnProperty('1')
于 2012-11-29T11:39:19.177 回答
0

JavaScriptundefined的计算结果为false,因此您可以简单地执行以下操作:

if ( isdefined ) {
    // do stuff
}
于 2012-11-29T11:44:33.040 回答