Access Javascript variables dynamically

后端 未结 4 1563
刺人心
刺人心 2020-11-28 16:07

I know you might think this is a duplicate or a dumb question. But the answers doesn\'t help me.

Here\'s my simple problem:

var option1 = \"some text         


        
相关标签:
4条回答
  • 2020-11-28 16:40

    change your loop to look like this:

    for(var i = 1; i < 4; i++)
    {
        alert(eval("option"+i));   
    }
    

    Let me know if you have any questions

    0 讨论(0)
  • 2020-11-28 16:42

    Try this:

    var option1 = "some text";
    var option2 = "some text";
    var option3 = "some text";
    
    for(var i = 1; i < 4; i++)
    {
     alert(eval('option'+i) + '\n');
    }
    

    It's better if you try and use an array or access it via window as Kolink posted. And if you do use eval, make sure nothing that is not in your control gets eval'ed as its a security risk.

    0 讨论(0)
  • 2020-11-28 16:44

    If they are variables in the window scope, then you can access window['option'+i]. However, you really should just use an array:

    var option = [
        "some text",
        "option 2",
        "option 3"
    ];
    for( var i=0; i<3; i++) alert(option[i]);
    
    0 讨论(0)
  • 2020-11-28 16:56

    Please try this one:

        option = new Array();
        option[1] = "some text";
        option[2] = "some text";
        option[3] = "some text";
        for(var i = 1; i < 4; i++)
        {
            alert(option[i]);   
        }
    
    0 讨论(0)
提交回复
热议问题