sta*_*lei 5 javascript prototype
先前的文章讨论了Array.prototype.slice.call(arguments)工作方式,但我不明白为什么要使用call而不是将applyapply用于类似数组的对象,而call将其用于用逗号分隔的对象列表。是不是arguments应该使用类似数组的对象apply,而不是call?
小智 4
如果您想将参数传递给数组中的切片而不是一个接一个地传递,那么这是有区别的。你可以这样做
[1, 2, 3, 4, 5, 6, 7] ---- our example arguments
Array.prototype.slice.call(arguments, 2, 5);
Run Code Online (Sandbox Code Playgroud)
在这里,您传递给切片方法 2 和 5,这些是切片参数,指示您想要将索引 1 处的项目获取到索引处的项目。4. 所以很可能是 3、4、5。
Array.prototype.slice.apply(arguments, [2, 5]);
Run Code Online (Sandbox Code Playgroud)
其作用相同,但切片的参数可以在数组中传递。