Search code examples
javascriptloopsvariablesincrement

Increment the name of variable


Basically I want to increment the name of the variable. What is the correct syntax to do this?

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

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

dojo.addOnLoad(slider_+i);

Solution

  • Why not just use an array?

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

    Alternatively, you could access them based on the object they are contained within. Assuming they are global variables (hopefully not):

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

    window["something"] is another way to access a global variable named something.