[].slice与Array.prototype.slice的区别是什么?
在搜索过程中,我发现Array.prototype.slice比Jsper.com/array-原型-片-vs-片的[].slice还要快。
为什么Array.prototype.slice比[].slice更快?
我查过[].slice或Array.prototype.slice了。更生动的描述会有帮助。
谢谢
发布于 2015-02-21 02:51:16
为什么Array.prototype.slice比[].slice更快?
[]是Array的一个实例,因此额外的开销很可能是实例化对象所需的时间。
发布于 2015-02-21 02:53:51
.slice()是一种阵列原型方法。它定义在Array对象Array.prototype上,这意味着Array.prototype.slice是直接引用它的方式。
数组实例(如[] )继承了数组原型,因此[].slice解析为Array.prototype.slice。
如果需要重复使用此方法,最好的方法是将其引用放入最外层作用域中的变量中:
var slice = Array.prototype.slice;然后通过.call()和.apply()调用使用这个变量。
slice.call( someObj )https://stackoverflow.com/questions/28641522
复制相似问题