Увеличить имя переменной - PullRequest
1 голос
/ 11 октября 2011

В основном я хочу увеличить имя переменной. Какой правильный синтаксис для этого?

for (i=0; i<5; i++) {
    eval("var slider_" + i);

    var slider_+i = function(){
    //some code
}

dojo.addOnLoad(slider_+i);

Ответы [ 2 ]

6 голосов
/ 11 октября 2011

Почему бы просто не использовать массив?

var slider = [];

for (i=0; i<5; i++) {
    slider[i] = function(){
        //some code
    }

    dojo.addOnLoad(slider[i]);
}

Кроме того, вы можете получить к ним доступ в зависимости от объекта, в котором они содержатся. Предполагая, что они являются глобальными переменными (надеюсь, нет):

for (i=0; i<5; i++) {
    window["slider_"+i] = function(){
        //some code
    }

    dojo.addOnLoad(window["slider_"+i]);
}

window["something"] - это еще один способ доступа к глобальной переменной с именем something.

0 голосов
/ 11 октября 2011

Правильный способ сделать это - использовать объект или массив. Это должно работать:

var slider = {}; // object
// var slider = [] ; // array
for (i=0; i<5; i++) {
    slider[i] = function() {
        // some code ...
    }
    dojo.addOnLoad(slider[i]);
}
...