this的四个绑定方式 call apply bind 三者的相同点和不同点

1.直接绑定方式(默认绑定方式)优先级最低

针对普通的函数,this就是window(只要函数调用的时候前面没有带);

2.隐式绑定方式

当作对象方法来调用(这个函数在调用的时候前面带点) 它的优先级比直接绑定高一些;

3.显示绑定方式

apply call bind

 

4.new 的绑定方式

 

new帮定的优先级>显示绑定>隐式绑定>直接绑定。

 

相同点:

  apply 、 call 、bind 三者都是用来改变函数的this对象的指向的,第一个参数都是this要指向的对象

不同点:

  call和aplly的区别只是在与参数不同,call的第二个参数是目标函数的第一个参数,第三个是目标函数的第二个参数以此类推,apply的第二个参数是个数组,数组里面的每一项一次是目标函数的参数

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

猜你喜欢

转载自www.cnblogs.com/lichaochao/p/12398095.html
今日推荐