有没有办法在不使用的情况下执行以下操作eval()
?
以下函数接受一个字符串数组,其中字符串是对象名称。我遍历它们以确保它们都不是未定义的。我希望能够在不使用的情况下做到这一点eval()
function hasMissingDependencies(dependencies) {
var missingDependencies = [];
for (var i = 0; i < dependencies.length; i++) {
if (eval('typeof ' + dependencies[i]) === 'undefined') {
missingDependencies.push(dependencies[i]);
}
}
if (missingDependencies.length > 0) {
return true;
}
return false;
}
有了这个,我可以通过以下内容并得到我想要的东西:
alert(hasMissingDependencies(['App.FooObject', 'App.BarObject']));
当对象名称作为字符串传递时,我宁愿不使用eval()
但还没有找到另一种方法来检查对象是否未定义。