0

今天我正在浏览stackoverflow中的一些帖子,这个回复刚刚弹出。 https://stackoverflow.com/a/2280350/548591

https://stackoverflow.com/a/11513602/548591

var name = [];
var name = new Array();

就性能而言,字面意思是否比初始化new Array Object.

现在正在看这篇文章,只是想更新。

http://yuiblog.com/blog/2006/11/13/javascript-we-hardly-new-ya/

4

3 回答 3

0

从我自己直接实现 ECMA 语法到制作解析器,我可以告诉你:

Array 文字[]被直接解析,然后转换为数组对象,而new Array()首先被解析为“表达式”,然后检查 new 关键字,然后检查您想要创建的内容(在这种情况下Array),然后进行评估。

我无法准确告诉您使用 会损失多少性能new Array(),它因 Javascript 引擎而异。例如,V8 (Chrome) 会预编译代码以对其进行优化,因此[]无论如何它都可能被转换为文字,具体取决于它的工作方式。

最简单的方法是创建一个测试函数,该函数创建几十万个数组,并分别使用文字声明或构造函数初始化来测量循环的时间。

于 2013-02-12T13:51:55.127 回答
0

是的,根据测试,初始化[]比使用new Array. 除此之外,文字版本更具可读性。
已经被问到了

于 2013-02-12T13:52:04.797 回答
0

根据浏览器的不同,Literals 的速度似乎快了两倍。也就是说,在存在显着差异的浏览器中。

于 2013-02-12T13:52:09.090 回答