call、apply、bind

1、相同也不同

我们先从浅显的部分开始讲,

  • 这三个方法都可以改变this的指向,都可以进行传参,第一个参数都是修改this的指向
  • call() 和 apply() 改变this指向后会立即执行函数
  • bind() 改变this指向后不会立即执行
  • call() 和 apply() 区别在于参数

    · call() 第一个参数是修改的this指向,后续的参数都是传入该函数的值,他的传值只能一个个传

    · apply() 第一个参数是修改的this指向,第二个参数是一个数组,所有传入该函数的值都放到该数组中

 

javaScript权威指南上的解释是:

  call() 、apply()可以看作是某个对象的方法,

  通过调用方法的形式来间接调用函数。

  bind() 就是将某个函数绑定到某个对象上。

 


 

 

2、照常举

版权声明:本文为yangyangxxb原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/yangyangxxb/p/10124788.html