我有两个这样的变量:
var test = {"1":"test","2":"test2"};
var isdefined = "test.1"
如何检查 isdefined 变量不是“未定义”?
谢谢!
你的问题的答案是否和是,
不,因为如果您的对象属性以数字开头或者它是一个数字,则您无法使用 objectName.12 访问它,这是您无法更改的规则,在您的情况下它是一个数字
另一方面,是的,如果您的对象定义正确,您可以做到,请检查下面的代码块;
var test = {"1":"test","_2":"test2"};
var isdefined = "test._2";
alert(eval(isdefined)); // will return test2
alert(eval("test.1")); // throws exception.
您是否尝试测试是否1
存在于 中test
?在这种情况下,你可以做
test.hasOwnProperty('1')
JavaScriptundefined
的计算结果为false
,因此您可以简单地执行以下操作:
if ( isdefined ) {
// do stuff
}