【发布时间】:2011-11-14 13:32:00
【问题描述】:
我运行了这段代码,得到了以下结果。我很想知道为什么[] 更快?
console.time('using[]')
for(var i=0; i<200000; i++){var arr = []};
console.timeEnd('using[]')
console.time('using new')
for(var i=0; i<200000; i++){var arr = new Array};
console.timeEnd('using new')
- 使用
[]:299ms - 使用
new:363ms
【问题讨论】:
-
你可能对jsperf感兴趣。
-
注意关键字new。这意味着“请降低效率”。它没有任何意义,并且需要浏览器进行正常的实例化而不是尝试进行优化。
-
@kinakuta 没有。他们都创建了新的不相等的对象。我的意思是
[]在源代码方面等同于new Array(),而不是对象返回的形式表达式 -
是的,这不是很重要。但我想知道。