快速的问题,我没有真正有机会看看。当在通话/应用类型的上下文中使用时,哪种性能更高:Array.prototype
vs []
?Array.prototype vs [] perf
例如为:
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
方式是更好的性能,因为原型功能,可重复使用,没有文字的需要来创建。虽然不是很确定。
使用JSPerf(铬),它看起来像Array.prototype
确实稍微更好的性能:
http://jsperf.com/array-perf-prototype-vs-literal
我期望'Array.prototype.splice'因为你列出的原因更快;没有额外的对象创建。然而,这是一个微型优化,你应该关注这些情况下的可读性。 – Matt 2012-07-20 10:31:12
*表示同意*您认为哪个更具可读性?我会倾向于Array.prototype,但会继续在库中看到[]。 – 2012-07-20 10:35:10
虽然Dpolehonski在他关于减少字节的答案中提出了一个很好的观点,但我同意在它的表面上也有'Array.prototype'当使用'[]'时。我认为这两种方法的好处都很小,以至于个人偏好比任何其他方面都要好。 – Matt 2012-07-20 10:41:08