JavaScript Array vs new Array区别

规范说明 

  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];

原文地址:https://www.cnblogs.com/liutie1030/p/5634867.html