在第一个示例中,我创建了长度为 1000 的空数组:
var arr = new Array(1000);
for (var i = 0; i < arr.length; i++)
arr[i] = i;
在第二个示例中创建了长度为 0 的空数组:
var arr = [];
for (var i = 0; i < 1000; i++)
arr.push(i);
在 OS X 10.10.3 上的 Chrome 41.0.2272.118 中进行测试,第一个块运行得更快。为什么?因为 JavaScript 引擎知道数组大小?
基准测试在这里http://jsperf.com/poerttest/2。