JavaScript eval()无法使用变量名



为什么eval((没有执行我的代码?

for (var i = 1; i <= 3; i++) {
str = "var foo_" + i + "_bar = " + i;
eval(str);
}
console.log(foo_1_bar);
console.log(foo_2_bar);
console.log(foo_3_bar);

变量foo_2_bar在该迭代(i = 1(中未声明。您需要将console.log(...)放在循环之外。

我认为你在玩js,因为eval有点危险

for (var i = 1; i <= 3; i++) {
str = "var foo_" + i + "_bar = " + i;
eval(str);
}
console.log(foo_1_bar);
console.log(foo_2_bar);
console.log(foo_3_bar);

您记录的变量不存在

for (var i =  1; i <= 3; i++) {
str = "var foo_"+ i +"_bar = " + i;
eval(str);
console.log(foo_1_bar);
}

最新更新