总结1、相同点 - 都能够改变目标函数执行时内部 this 的指向
- 方法的第一个参数用于指定函数执行时内部的 this 值
- 支持向目标函数传递任意个参数
- 若不向方法的第一个参数传值或者传递 undefined、null,则在 JavaScript 正常模式下,目标函数内部的 this 指向 window 对象,严格模式下,分别指向 undefined、null。
2、区别 - apply() 方法可接收两个参数,而 call() 和 bind() 方法则可接收多个参数。
- apply() 方法向目标函数传递参数时只需将参数数组或 arguments 对象作为方法的第二个参数即可,而 call() 和 bind() 方法则需要将传参逐个列举在方法的一个参数后面。
- 调用 call() 和 apply() 方法时会立即执行目标函数,而 bind() 方法则不会,它将返回一个新函数
JavaScript axios安装与封装案例详解 JavaScript 中this指向问题案例详解 |