Array.prototype vs [] perf
快速的问题,我没有真正有机会进行调查。 在调用/应用类型的上下文中使用哪个更高性能: Array.prototype
vs []
?
例如:
function test1() {
return Array.prototype.splice.apply(arguments, [1, 2]);
}
test1([1,2,3,4,5,6,7,8,9]);
function test2() {
return [].splice.apply(arguments, [1, 2]);
}
test1([1,2,3,4,5,6,7,8,9]);
我的想法:我会假设Array.prototype
方式更Array.prototype
因为原型函数可以被重用并且不需要创建字面值。 虽然不是很确定。
使用JSPerf(使用chrome)它看起来像Array.prototype
的确性能稍微高一点:
http://jsperf.com/array-perf-prototype-vs-literal
这取决于运行它的浏览器。 在铬看来,原型比较快,firefox显示两者之间没有区别,尽管通常比chrome慢。 IE9显示了.prototype的大幅提速,但是目前为止浏览速度最慢。
然而,这种优化是如此之小,以至于人们可能会认为节省的时间会抵消读取代码所需的额外字节。 我虽然离题,但如果这些是您遇到的最大性能问题,那么您确实没有任何优化问题!
编辑:
我在这里添加了一个额外的测试,在这里我使用传入函数的数组来调用splice函数,该函数在IE,Chrome和Firefox中显示速度都快于两者。 我的结论是,如果你已经有了数组,那就使用它,否则使用原型。
链接地址: http://www.djcxy.com/p/11009.html上一篇: Array.prototype vs [] perf
下一篇: CAML "NOT IN" query