为什么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);
答案 0 :(得分:1)
在该迭代(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);
答案 1 :(得分:0)
您记录的变量不存在
for (var i = 1; i <= 3; i++) {
str = "var foo_"+ i +"_bar = " + i;
eval(str);
console.log(foo_1_bar);
}