js bind,call,apply

2018-11-30  本文已影响0人  工藤新二_cad2

在JavaScript中,call、apply和bind是Function对象自带的三个方法,这三个方法的主要作用是改变函数中的this指向。

改变函数在执行是this的指向

call、apply、bind方法的共同点和区别:

apply 、 call 、bind 三者都是用来改变函数的this对象的指向的;

apply 、 call 、bind 三者第一个参数都是this要指向的对象,也就是想指定的上下文(函数的每次调用都会拥有一个特殊值——本次调用的上下文(context)——这就是this关键字的值。);

apply 、 call 、bind 三者都可以利用后续参数传参;

bind是返回对应函数,便于稍后调用;apply、call则是立即调用 。

func.call(this, arg1, arg2);call传递序列参数

func.apply(this, [arg1, arg2])//apply传递数组

apply 、 call 、bind 三者都是用来改变函数的this对象的指向的;

apply 、 call 、bind 三者第一个参数都是this要指向的对象,也就是想指定的上下文;

apply 、 call 、bind 三者都可以利用后续参数传参;

bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。

指定上下文,this指向的对象就是上下文,this对象就是上下文。

上一篇 下一篇

猜你喜欢

热点阅读