谁能解释为什么第二个警报说 0 ?

  var pollData = new Array();
  pollData['pollType'] = 2;
  alert(pollData['pollType']); // This prints 2
  alert(pollData.length); // This prints 0 ??

最佳答案

仅当您添加数字索引时,数组的长度才会更改。例如,

pollData["randomString"] = 23;

对长度没有影响,但
var pollData = [];
pollData["45"] = "Hello";
pollData.length; // 46

将长度更改为 46。请注意,键是数字还是字符串并不重要,只要它是数字整数即可。

此外,您不应该以这种方式使用数组。考虑更多的是副作用,因为数组也是对象,在 JavaScript 中,任何对象都可以将任意键作为字符串保存。

关于JavaScript 数组长度方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5334158/

10-11 14:40