Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组初始化问题_Javascript - Fatal编程技术网

Javascript 数组初始化问题

Javascript 数组初始化问题,javascript,Javascript,我有以下代码: var intrebari = new Array(); var i = 0; intrebari[i]['enunt'] = 'test'; alert(intrebari[i]['enunt']); 问题是,当我运行它时,它表示intrebari未定义。为什么?是interbari[0]为空,因此它不能是对象-要添加到数组中,请使用push而不是索引 var intrebari = []; intrebari.push({ 'enunt': 'test' }); alert

我有以下代码:

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

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

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

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

这将起作用

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

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

这将起作用

您需要为
intrebari[i]
分配一些内容,然后才能访问它的任何属性,“默认情况下”它的值是
未定义的
,没有任何属性。例如:

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

您需要将某些内容分配给
intrebari[i]
,然后才能访问它的任何属性,“默认情况下”它的值是
undefined
,没有任何属性。例如:

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

或者,可以将
intrebari[i]
设置为刚好
{}
,然后原始的赋值就可以了。但是这个答案是正确的。或者,
intrebari[i]
可以设置为只
{}
,然后原始的赋值就可以了。但这个答案是正确的。不,它不应该是一个新数组;它与字符串键一起使用,所以它更可能是一个对象。@Pointy:修复了它。但是这是使用对象而不是数组的唯一原因吗?数组有自己的行为。将数组用作对象是可行的,因为数组是对象。但是,如果程序员不太清楚事情是如何工作的,有时会出现奇怪的效果;它与字符串键一起使用,所以它更可能是一个对象。@Pointy:修复了它。但是这是使用对象而不是数组的唯一原因吗?数组有自己的行为。将数组用作对象是可行的,因为数组是对象。但是,如果程序员不太清楚事情是如何工作的,有时可能会产生奇怪的效果。请注意,
[]
与“new Array()”相同,
{}
与“new Object()”相同。为了节省键入的时间:-)请注意,
[]
与“new Array()”相同,
{}
与“new Object()”相同。为了节省您的打字时间:-)