dynamic访问Javascriptvariables

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

这是我的简单问题:

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

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

我在这里先向您的帮助表示感谢。

如果你发现这是一个重复只是标记这个问题。 谢谢

请试试这个:

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

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

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

尝试这个:

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

如果您尝试使用数组或通过Kolink发布的window访问数组,则更好。 如果你使用eval ,确保没有任何不在你控制范围内的东西被eval为安全风险。

改变你的循环看起来像这样:

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

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