call apply bind
时间: 2023-09-07 14:15:44 浏览: 81
js中的apply、call、bind是三个函数方法,都可以用来改变函数的this指向。
apply和call的作用是一样的,都是改变函数的this指向,并且立即执行该函数。区别在于传入参数的方式不同,apply接收一个数组作为参数,而call则是一个一个参数传入。
bind则是返回一个新的函数,改变函数的this指向,但不会立即执行该函数,需要手动调用。
这三个方法在实际开发中经常用到,特别是在处理函数作为参数传递的情况下,可以方便地改变函数的执行环境。
相关问题
call apply bind 区别
call、apply、bind 都是用来改变函数中 this 指向的方法。
call 和 apply 的作用相同,都是使函数调用时的 this 指向第一个参数,并且立即执行该函数,其中唯一的区别在于传参方式不同。call 的参数是逐个列举,而 apply 的参数是以数组的形式传递,即第二个参数是一个数组。
bind 的作用是返回一个新的函数,在该函数被调用时,会将 this 关键字设置为提供的值,并传入原函数的参数以进行调用。区别于 call 和 apply,bind 方法不是立即执行函数,而是返回一个新的函数。
简单来说,call 和 apply 是为了改变函数的上下文环境,而 bind 是为了改变函数的执行方式。
js call apply bind
JavaScript 中有三个方法可以改变函数执行上下文:call()、apply() 和 bind()。
- call() 方法可以将函数设置为对象的方法,并立即执行该函数。
- apply() 方法与 call() 方法类似,只是第二个参数需要是一个参数数组。
- bind() 方法创建一个新函数,在调用时设置上下文和参数。
三者的使用方法不同,需要根据具体场景来使用。
阅读全文