bind,call,apply改变this的操作区别
时间: 2024-03-07 11:53:11 浏览: 52
JS中改变this指向的方法(call和apply、bind)
5星 · 资源好评率100%
`bind`, `call`, 和 `apply` 是 JavaScript 中用于改变函数 `` 值的方法。它们的主要区别在于它们接收参数的方式和返回值。
`bind` 方法创建一个新函数,并将 `this` 值绑定到指定的对象,但不会立即执行函数,而是返回一个新函数。这个新函数可以稍后被调用。`bind` 方法可以接受多个参数,第一个参数是要绑定的 `this` 值,后面的参数是被绑定函数的参数。
`call` 方法立即调用函数,并将 `this` 值绑定到指定的对象,然后执行函数。`call` 方法可以接受多个参数,第一个参数是要绑定的 `this` 值,后面的参数是被调用函数的参数。
`apply` 方法立即调用函数,并将 `this` 值绑定到指定的对象,然后执行函数。`apply` 方法接受两个参数,第一个参数是要绑定的 `this` 值,第二个参数是一个数组,其中包含被调用函数的参数。
综上所述,`bind` 方法返回一个新函数,`call` 方法和 `apply` 方法会立即调用函数并传递参数,它们的主要区别在于参数的传递方式。
阅读全文