在JavaScript中,call
、apply
和bind
是Function
对象自带的三个方法,这三个方法的主要作用是改变函数中的this
指向。
call
、apply
、bind
方法的区别和相同之处:
apply
、call
、bind
三者都是用来改变函数的this对象的指向;apply
、call
、bind
三者第一个参数都是this要指向的对象,也就是向指定的上下文(函数的每次调用都会拥有一个特殊值 —— 本次调用的上下文(xontext) —— 这就是this关键字的值。);apply
、call
、bind
三者都可以利用后续参数传值;bind
是返回对应函数,便于稍后使用;apply
、call
则是立即调用。