可能重复:
What's the difference between Array(1) and new Array(1) in JavaScript?
在javascript中,这两者有何不同?
var arr = Array();
var arr2 = new Array();
如果根据JS标准它们是相同的,是否有任何浏览器以不同的方式对待这两种方式?
答案 0 :(得分:15)
15.4.1作为函数调用的数组构造函数
当
Array
作为函数而不是构造函数调用时, 它创建并初始化一个新的Array对象。 因此,函数调用Array(...)
等同于对象创建 表达式new Array(...)
具有相同的参数。
11.1.4 部分(它很长,所以我不会引用它)也表明数组文字直接对应于new Array(...)
构造函数调用。
答案 1 :(得分:2)
我认为第二个只是正确的编码惯例,但是Jared有一个很好的观点,即大多数人只使用var arr = [];
以下是您的问题的基准:http://jsperf.com/array-vs-new-array
经过10次跑步,他们的颈部和颈部每秒平均有65-80万次操作。我发现两者之间没有任何性能差异。
话虽如此,我将var arr = [];
添加到基准测试中,并且它始终比其他两个快20-30%,每秒超过1.2亿次操作。