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)); }
如果您有任何问题,请告诉我