繁体   English   中英

循环JavaScript中的动态变量

[英]Dynamic variable in loop javascript

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

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

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

  var m+i = "Something"

}

请帮我解决一下这个。 万分感激。

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

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

您也可以创建一个数组( m = [] ),但是由于您是从1而不是0 ,所以建议您使用一个对象。

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

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

(是的,您不应该)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM