假设我有一个变量名称数组:
var varNames = new Array("name1","name2","name3");
如何通过循环遍历varNames数组来创建var name1,var name2和var name3?
解决方法
这将创建全局变量(在全局命名空间,即窗口中).
var varNames = ["name1","name3"]; for (var i=0;i<varNames.length;i+=1){ window[varNames[i]] = 0; } name1; //=> 0
由于使用全局变量被认为是不好的做法,您可以在custum对象中创建变量:
var myVariables = {},varNames = ["name1","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","name3"]; console.log(v1); // => name1