本文受到了知乎问题 如何理解和熟练运用js中的call及apply? 的启发。

 

obj.call(thisObj, arg1, arg2, ...);

obj.apply(thisObj, [arg1, arg2, ...]);

作用:将 obj (即this) 绑定到 thisObj,使 thisObj 具备 obj 的属性和方法。绑定后会立即执行函数。

区别:call() 方法接受的是若干个参数的列表,而 apply() 方法接受的是一个包含多个参数的数组。

 

使用:

使用call方法调用函数并且指定上下文的'this'

JS 中 call 和 apply 的理解和使用

 

调用原生对象的方法

JS 中 call 和 apply 的理解和使用

 

调用父构造函数,实现继承(类似 Java 中的写法)

JS 中 call 和 apply 的理解和使用

 

bind 的使用

obj.bind(thisObj. arg1, arg2, ...);

把obj绑定到thisObj,这时候thisObj具备了obj的属性和方法。与call和apply不同的是,bind绑定后不会立即执行。

JS 中 call 和 apply 的理解和使用

 

相关文章:

  • 2022-01-07
  • 2021-11-10
  • 2021-09-18
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
猜你喜欢
  • 2021-12-14
  • 2019-11-26
  • 2022-12-23
  • 2021-06-24
  • 2021-09-21
  • 2022-12-23
  • 2018-04-13
相关资源
相似解决方案