JavaScript eval() 无法使用变量名

JavaScript eval() not working with variable name

为什么 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);
}

变量 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);