我有一个快速问题,还没有机会深入了解。在调用/应用上下文中使用时,哪个更高效:Array.prototype
还是[]
?
例如:
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
的方式更高效,因为可以重复使用原型函数,而不需要创建文字。虽然我不太确定。在Chrome中使用JSPerf进行测试,似乎
Array.prototype
确实略微更高效:
http://jsperf.com/array-perf-prototype-vs-literal
Array.prototype.splice
会更快,因为你列出的原因;它没有额外的对象创建。然而,这只是微小的优化,在这些情况下,你应该专注于可读性。 - MattArray.prototype
的观点,尽管 Dpolehonski 在他的回答中提到使用[]
可以减少字节数,这一点很有道理。我认为两种方法的好处都非常微小,更多地取决于个人偏好。 - Matt