Javascript:通过for循环生成变量

时间:2016-08-17 07:55:20

标签: javascript html

我可以使用for循环来声明变量吗?因为逐个声明变量并不聪明。

例如,如果我想要变量,如:DATA1,DATA2和DATA3,我通常会在下面声明:

var data1 = "";

var data2 = "";

var data3 = "";

以下是我希望我们可以在实际代码中做的事情。

使用for循环并使用" i"为每个变量分配编号。

for(var i = 0; i < 3 ;i++){

    var data+i = "";

}
我能做到吗?我想上面的代码不是正确的方法,只是一个概念。

3 个答案:

答案 0 :(得分:2)

您可以定义对象或全局变量。

&#13;
&#13;
var variables = {};

for (var i = 0; i < 3; i++) {

  variables['data' + i] = i;

}

console.log(variables);

// you can use it like variables.data0


// by the way you can define global variables as you want
// but note that this pollutes the global space

for (var i = 0; i < 3; i++) {
  window['data' + i] = i;
}
// so you can use it like

console.log(window.data0, ' or ', data0)
&#13;
&#13;
&#13;

答案 1 :(得分:1)

由于javascript是动态类型的,你可以做类似的事情。 JavaScript使您可以通过密钥访问变量。

var baseVariable = {};
for(var i = 0; i < 3; i++){
    baseVariable["data" + i] = "ValueForData" + i;
}

您可以通过遍历baseVariabel来轻松访问这些变量,或者如果您现在可以调用它的确切数量:

baseVariable.data1

答案 2 :(得分:-1)

您可以使用eval函数来评估字符串中的代码。 例如:

var a = 2; eval('alert(a)');

看看任务链。可能是合适的。

var a = b = c = d = e = f = g = "";

但这种方式并不是一种好的做法。 正如您的问题的评论中所提到的,更好的方法是使用数组或对象来存储数据。