Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用for循环反复初始化变量_Javascript_Variables_Loops_For Loop_Initialization - Fatal编程技术网

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

在javascript中使用for循环反复初始化变量,javascript,variables,loops,for-loop,initialization,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 = "";

我的问题是我是否可以反复初始化变量(在变量后面只更改数字)这是我的代码

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");

我不是想把变量用作存储,而是想为函数实例化一个元素。

这是数组的工作

var something = [];
var somethings = 5;

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

请注意,您使用0访问第一个元素。这正是因为JavaScript数组是基于零的。

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

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


for(var i=1;i为什么不使用数组呢?!?你想做什么?这听起来是个坏主意,也许我们可以帮你想办法:)每次遇到这样的情况,只要把所有对象都推到一个数组中,然后迭代它。我已经编辑了代码。。希望它能更好地解释它1:使用窗口,而不是这个(它可以随范围而改变,并且在严格模式下不在根级别定义),2:其他问题为问题提供了更好的答案(如果不是问题的话);你至少应该注意到这一点。
var counter=0,something = new Array();
for(i = truStorage.getItem('elementCount'); i>0; i--) {
   something[counter] =  truStorage.getItem("element_" + i).text;
   counter++;
  }
};
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;