这个问题在这里已经有了答案:




10年前关闭。






apply 和 call 方法之间的主要区别是什么...
我浏览了网络但无法找到最佳解决方案..
请 friend 帮帮我...

最佳答案

JavaScript 中的每个函数除了默认参数外还接收两个对象。它们是 thisargumentsthis 的值由它的调用模式决定。 applycall 可用于调用函数并为其提供默认的 this 对象。

这在很多情况下都非常有用。例如,arguments 是一个类似数组的对象,但并不是真正具有所有有用 Array 方法的 Array。因此,要在 slice 上应用 Array 方法 arguments ,您可以执行以下操作:

Array.prototype.slice.apply(arguments, [1, 2])

如果 argumentsArray 类型的对象,您可以使用
arguments.slice(1, 2)
call 只不过是 apply 的修改版本。请参阅难以捉摸的评论。

Mr.Douglus Crockford 在这个视频中很好地介绍了 JavaScript 函数: Function the Ultimate

关于javascript - 请解释一下javascript中的apply和call方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4428606/

10-09 23:27