数组初始化问题

时间:2011-06-08 11:40:17

标签: javascript

我有以下代码:

var intrebari = new Array();
var i = 0;
intrebari[i]['enunt'] = 'test';
alert(intrebari[i]['enunt']);

问题在于,当我运行它时,它表示intrebari未定义。为什么呢?

3 个答案:

答案 0 :(得分:2)

是的interbari [0]为null,因此它不能是对象 - 并且要添加到数组中使用push而不是索引

var intrebari = [];
intrebari.push({ 'enunt': 'test' });
alert(intrebari[i]['enunt']);

这将有效

答案 1 :(得分:1)

您需要先为intrebari[i]分配内容,然后才能访问其中的任何属性,“默认情况下”其值为undefined且没有任何属性。例如:

intrebari[i] = new Object();
intrebari[i]["enunt"] = "test";
alert(intrebari[i]["enunt"]);

答案 2 :(得分:1)

var intrebari = new Array();
var i = 0;
intrebari[i] = new Object()
intrebari[i]['enunt'] = 'test';
alert(intrebari[i]['enunt']);