可以说我有一个变量的名称数组:

var varNames = new Array("name1","name2","name3");

如何通过仅遍历var name1数组来创建var name2var name3varNames

最佳答案

这将创建全局变量(在全局 namespace 中,即window)。

var varNames = ["name1","name2","name3"];
for (var i=0;i<varNames.length;i+=1){
  window[varNames[i]] = 0;
}
name1; //=> 0

由于使用全局变量被认为是不好的做法,因此您可以在custum对象中创建变量:
var myVariables = {}
   ,varNames = ["name1","name2","name3"];
for (var i=0;i<varNames.length;i+=1){
  myVariables[varNames[i]] = 0;
}
myVariables.name1; //=> 0

编辑2017年

使用es≥6:
const [v1, v2, v3] = ["name1","name2","name3"];
console.log(v1); // => name1

关于javascript - 如何从数组动态创建JavaScript变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11807231/

10-12 21:01