看了下, 对生成的数组测试
var arr1 = Array.apply(null, {length: 10});
var arr2 = Array(10);
0 in arr1 //true
0 in arr2 //false
arr1.map(function(item, index){console.log(index)}) //0, 1, 2, 3...
arr2.map(function(item, index){console.log(index)}) //undefined...
似乎第一种方法生成的数组确实生成了10个undefined
组成的数组, 而第二种方法就是纯粹的空数组, 只有一个length
属性?
慕桂英546537
相关分类