规范说明
When Array is called as a function rather than as a constructor, it creates and initialises a new Array object. Thus the function call Array(…) is equivalent to the object creation expression new Array(…) with the same arguments.
当数组作为函数调用而不是构造函数调用时,它会创建并初始化一个新的数组对象。因此当Array(...)和new Array(...)接收同样的参数时,它们是相同的。
调用构造函数Array创建数组的方法
a 无参数
var a = new Array();
=> []空数组;
b 一个数值参数
var a = new Array(5);
=> [undefined*5]稀疏数组;
c 两个或多个数组元素或者一个非数值元素
var a = new Array('2ab'); var a = new Array(2, 'a', 'b');
=> ['2ab']和[2, 'a', 'b'];
ES6中新增方法Array.of(), 将所有传入参数作为新建数组的元素,即使传入单个数值元素,Array.of(5) => [5];