可能重复:
What’s the difference between “Array()” and “[]” while declaring a JavaScript array?
在JavaScript中,您可以创建一个新的数组,如:
var arr = new Array();
或者喜欢:
var arr2 = [];
有什么区别,你为什么要做另一个呢?
答案 0 :(得分:4)
new Array(2)
引用一个大小 2 的数组,其中包含两个undefined
个。 [2]
生成一个大小为 1 的数组,其中包含数字 2 。 new Array
IMO不符合JavaScript的精神,即使它可能使阵列构造更容易找到。这可能有也可能没有任何重要性(我几乎只在JavaScript中使用所有适用类型的文字,并且我已成功创作/维护大部分JavaScript [30-50 KLOC]。)
编辑我想经验丰富的javascript程序员避免使用new Array
语法的原因是:
(new Array(X)).length == 1
X
}的行为不一致typeof(X) != "number"
答案 1 :(得分:2)
使用[]
优先于new Array()
的另一个(次要)原因是Array
可能会被覆盖(尽管我从未见过它)和[]
保证工作。
Array = "something";
var a = new Array(); // Fails
var b = []; // Works
答案 2 :(得分:0)
我相信他们是完全相同的。我从不使用新的Array();