前段时间我在某处看到了Array.slice(0)比Array.slice()更快的事情。不幸的是现在我无法找到这个来源。那可能吗? Array.slice(0)和Array.slice()有什么区别?
答案 0 :(得分:5)
没有区别,因为如果您没有为begin
方法提供任何参数,则0
默认会分配给Array.slice()
。
开始
Optional
开始提取的从零开始的索引。一个 可以使用负指数,表示距离结尾的偏移量 序列
如果未定义begin,则切片从索引0开始。
了解更多信息: link
答案 1 :(得分:3)
slice
是这样的:
function slice(start) {
if( /* start is not valid */ ) {
start = 0;
}
// ...
}
唯一的不同之处在于评估了行start = 0
是否正确!因此评估时间的唯一变化就是分配的成本,与其他代码相比,成本并不高!
答案 2 :(得分:2)