动态访问Javascript变量

时间:2012-07-17 04:14:25

标签: javascript

我知道你可能认为这是一个重复或愚蠢的问题。但答案对我没有帮助。

这是我的简单问题:

var option1 = "some text";
var option2 = "some text";
var option3 = "some text";

我想在for循环中访问元素“option1,option2,option3”:

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

我知道它不应该是选项+我但我不知道如何解决这个问题。

感谢您的帮助。

如果您发现这是重复,请标记此问题。感谢

4 个答案:

答案 0 :(得分:6)

如果它们是window范围内的变量,则可以访问window['option'+i]。但是,你真的应该只使用一个数组:

var option = [
    "some text",
    "option 2",
    "option 3"
];
for( var i=0; i<3; i++) alert(option[i]);

答案 1 :(得分:1)

试试这个:

var option1 = "some text";
var option2 = "some text";
var option3 = "some text";

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

最好是尝试使用数组或通过window访问它,就像Kolink发布的那样。如果您确实使用eval,请确保您控制范围内的任何内容都不会被eval作为安全风险。

答案 2 :(得分:1)

请尝试这个:

    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]);   
    }

答案 3 :(得分:0)

将循环更改为:

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

如果您有任何问题,请告诉我