循环javascript中的动态变量

时间:2014-05-22 13:50:31

标签: javascript

我想在循环中创建一个动态变量。 我发现了一些关于eval和window的内容,但我不知道如何使用它。

这是我的循环,我想创建一个从m1到m9的9个变量名称。我的意思是变量的名称必须是m1到m9

for(i=1; i<10; i++){

  var m+i = "Something"

}

请帮我解决这个问题。真的很感激。

3 个答案:

答案 0 :(得分:4)

您不想创建9个变量。相信我。你想创建一个对象。

var m = {};
for(var i=1; i<10; i++){
    m[i] = "Something";
}

你也可以创建一个数组(m = []),但由于你是从1开始而不是0,我建议一个对象。

答案 1 :(得分:2)

但是如果你仍然想要创建9个变量,尽管如此,你仍然可以:

for(i=1; i<10; i++){
  eval('var m'+i+'='+i)
}

(是的,你不应该)。

答案 2 :(得分:1)

var object = {};     
var name = "m";
for(i=1; i<10; i++){
  object[name+i] = "Something";
}
console.log(object.m1); // "Something", same for m2,m3,m4,m5...,m9

但是考虑一下"m"是否真的有必要,数组更快:

var array = [];
for(i=1; i<10; i++){
  array.push("Something");
}
console.log(array[0]); // "Something", same for 1,2,...,8