在javascript中使用for循环重复初始化变量

时间:2014-01-19 09:24:08

标签: javascript variables loops for-loop initialization

我的问题是我可以重复初始化变量(只改变它们之后的数字)这是我的代码

for(i = truStorage.getItem('elementCount'); i>0; i--) {
var obj = truStorage.getItem("element_" + i);
var [obj_+i] =  element(erd.Entity , obj.posx, obj.posy, obj.text );}

};

基本上我只想初始化一个像

这样的变量
something_i = "";

,结果将是这样的

var element_1 = element(erd.Entity, 100, 200, "Employee");
var element_2 = element(erd.Entity, 100, 400, "Salesman");
var element_3 = element(erd.WeakEntity, 530, 200, "Wage");
var element_4 = element(erd.IdentifyingRelationship, 350, 190, "gets paid");

我不是试图将变量用作存储,而是实例化一个函数的元素。

3 个答案:

答案 0 :(得分:2)

这是阵列的工作。

var something = [];
var somethings = 5;

for(var i = 0; i < somethings; i++) {
    something[i] = "";
} 

您现在应该可以访问以下五个值:

console.log(something[0])
console.log(something[1])
console.log(something[2])
console.log(something[3])
console.log(something[4])

请注意,您使用0来访问第一个元素。这就是它的原因,因为JavaScript数组是从零开始的。

答案 1 :(得分:0)

这是使用数组的最佳方案:

var counter=0,something = new Array();
for(i = truStorage.getItem('elementCount'); i>0; i--) {
   something[counter] =  truStorage.getItem("element_" + i).text;
   counter++;
  }
};

答案 2 :(得分:0)

尝试:

for(var i=1; i<=4; i++) {
    this["something_" + i] = i;
}

console.log(something_1); //outputs 1;
console.log(something_2); //outputs 2;
console.log(something_3); //outputs 3;
console.log(something_4); //outputs 4;

注意:使用数组会更快!