JavaScript eval () не работает с именем переменной - PullRequest
0 голосов
/ 08 ноября 2018

почему 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);

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Переменная 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);
0 голосов
/ 08 ноября 2018

Ваша зарегистрированная переменная не существует

for (var i =  1; i <= 3; i++) {

    str = "var foo_"+ i +"_bar = " + i;
    eval(str);

    console.log(foo_1_bar);
}
...