Javascript中的Array()和[]有什么区别?为什么我会使用另一个?

cmc*_*loh 8 javascript arrays literals

可能重复:
声明JavaScript数组时"Array()"和"[]"之间有什么区别?

在JavaScript中,您可以创建一个新数组,如:

var arr = new Array();
Run Code Online (Sandbox Code Playgroud)

或者喜欢:

var arr2 = [];
Run Code Online (Sandbox Code Playgroud)

有什么区别,你为什么要做另一个?

jus*_*ody 4

new Array(2)产生一个大小为2的数组,包含两个undefineds。 生成一个大小为1[2]的数组,其中包含数字2。IMO 不符合 JavaScript 的精神,尽管它可能使数组构造更容易找到。这可能有也可能没有任何重要性(我几乎只在 JavaScript 中使用文字来表示所有适用的类型,并且我已经成功地编写/维护了大段 JavaScript [30-50 KLOC])。new Array

编辑我猜经验丰富的 javascript 程序员避免使用语法的原因new Array是:

  • 它在参数数量和类型之间的行为并不统一((new Array(X)).length == 1只要X typeof(X) != "number"
  • 它更冗长,你唯一得到的就是不规则性