我在很多地方读到我们应该避免在 JavaScript 代码中使用 eval。 但是,我有一个场景,我无法删除它。需要帮助
var levels=[];
for(var k=0;k<levels.length;k++){
var levelsArray={};
levelsArray["name"]=levels[k].name;
levelsArray["caption"]=levels[k].caption;
var prop = levels[k].name;
eval("levelsArray[\"memberProvider\"]= function (item) { return item." + prop + ";}");
levels.push(levelsArray);
}
我希望代码很清楚我想要做什么。
最佳答案
levelsArray.memberProvider = (function(p) {
return function (item) { return item[p]; };
})(prop);
关于javascript - 在特定场景中避免 eval(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24380726/