我试图获得使用eval()
评估的字符串的类型,但没有成功。无法获得使用eval()评估的字符串的typeof
该变量是存储在一个数组中的字符串,其中包含一个可能对象的名称,我想知道它是否被定义。
有人可以举手吗?
令人不安线if (typeof eval(x[i][0]) !== 'undefined')
这是我的代码:
var infoslider = [
["revapi5", "el-masnou", "sant-andreu-de-llavaneres"],
["revapi3", "sant-andreu-de-llavaneres", "cardedeu"],
["revapi10", "cardedeu", "eudald-carbonell"],
["revapi9", "arenys-de-mar", "canet-de-mar"]
];
var x = infoslider;
for (var i = 0; i < x.length; i++) {
if (typeof eval(x[i][0]) !== 'undefined') {
vesa(x[i][0], x[i][2]);
}
}
我得到“的ReferenceError:revapi5没有定义”
是什么让你觉得你需要或想'eval'呢? –
*“变量是存储在一个数组中的字符串,其中包含一个可能对象的名称,我想知道它是否被定义。”*不太紧随其后。你是说你可能会或者可能没有一个名为(例如)'revapi5'的变量? –
[我已经回答了你实际询问过的问题](http://stackoverflow.com/a/29700479/157247),我想,但这看起来像是“X/Y问题”:你需要解决X,而你认为Y会帮助你做到这一点,但是你在Y方面遇到困难,并且问Y怎么做 - 但是如果我们知道X是什么,我们或许可以建议比Y更好的解决方案。:-) –