Подтвердить что ты не робот

Javascript/HTML, можно ли создавать имена переменных из цикла

Представьте, что у меня было: <div id names>142,140,150</names>

мог ли я тогда (в Javascript) написать forloop, который объявляет имена переменных, с этими добавленными значениями, т.е.

var list = document.getElementById('names').innerHTML.Split(',');

for(i=0; i<list.Length; i++){
    var 'beginning' + list[i];
}

поэтому я бы хотел создать:

var beginning142
var beginning140
var beginning150
4b9b3361

Ответ 2

Вы можете сделать что-то вроде этого:

for(var i = 0; i<100; i++)
{
   eval("var beginning"+i);
}

Для разработчиков, опасающихся eval. Это одна из хороших статей, посвященных eval и как это не зло: http://www.nczonline.net/blog/2013/06/25/eval-isnt-evil-just-misunderstood/ p >

Я не говорю, что вам следует сбежать и начать использовать eval() везде. На самом деле, существует очень мало хороших вариантов использования eval(). Есть определенная проблема с ясностью кода, отлаживаемость и, конечно же, производительность, которую нельзя игнорировать. Но вы не должны бояться использовать его, когда у вас есть случай, когда eval() имеет смысл. Старайтесь не использовать его сначала, но не позволяйте никому пугать вы считаете, что ваш код более хрупкий или менее безопасный, когда eval() используется надлежащим образом.

Ответ 3

Я не могу добавить комментарий к вашему вопросу из-за низкой оценки репутации - это не ответ, а совет. Я думаю, было бы лучше создать единый массив с вашими ключами 142,140,150...

Ответ 4

Почему бы вам не определить объект, который имеет эти значения в качестве атрибута на нем.

Например:

var myVariable = function(id, value){
 this.Id = id;
 this.Value = value;
};

то вы можете просто создать экземпляр этого объекта. Я думаю, что в конце он менее сложный и читаемый.