javascript中的变量可以生成变量吗?

时间:2014-02-22 09:27:04

标签: javascript

让我们考虑一下:

var list = [a1:"123",b2:"234",c3:"345"];

这个list obj可以按照这个键名创建变量吗?

var a1 = list[0];   
var b2 = list[1];  
var c3 = list[2];

3 个答案:

答案 0 :(得分:3)

使用[]表示法时,只能使用数字索引创建数组。要拥有命名属性,必须使用{}对象表示法:

var list = { a1: "123", b2: "234", c3: "345" };

然后,您可以list.a1list.b2list.c3访问它们。

答案 1 :(得分:1)

问题不明确。您在示例中显示的内容是有效的。但你也可以像你建议的那样创建变量名称

for( var key in list ) {
  window[key] = list[key];
} 

这样您最终会得到具有所需值的a1b2c3变量,但这些变量将是全局变量。

答案 2 :(得分:0)

首先你有一个错误,你正在尝试合并散列数组和常规数组。你应该宣布一个这样的数组:

var list = ['123', '234', '345'] 

然后

var a1 = list[0] 

依此类推,或者宣布它像哈希数组一样,它看起来像这样

var list = {'a':'123','b':'234','c':'345'}
var a1 = list.a