我的问题是我可以重复初始化变量(只改变它们之后的数字)这是我的代码
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");
我不是试图将变量用作存储,而是实例化一个函数的元素。
答案 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;
注意:使用数组会更快!