j s的call apply bind区别
时间: 2023-04-30 20:02:54 浏览: 103
JavaScript 中的 call、apply 和 bind 都是 Function 对象的方法,用于改变函数的调用对象。
- call 方法可以将函数的调用对象改为传入的第一个参数,并将其余参数传入函数进行调用。
- apply 方法与 call 方法类似,只是将其余参数传入函数的方式不同,apply 方法接受的是一个参数数组。
- bind 方法用于创建一个新的函数,该函数的调用对象为传入的第一个参数,并且将其余参数预先绑定到该函数上。
总之:
call: 调用一个对象的一个方法,用另一个对象替换当前对象。
apply: 调用一个对象的一个方法,用另一个对象替换当前对象。
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区别
call、apply、bind都是JavaScript中用于处理函数调用的方法。call和apply的作用是改变函数中this的指向,call传参是一个一个的传,apply是将参数打包成数组传递。bind方法不是立即执行函数,而是用来生成一个新的函数,新函数的this值被绑定到指定的对象,而不是被隐式绑定。同时,bind方法也支持预设参数,返回一个可以延迟调用的函数。
阅读全文