JS--理解callapply和bind

Posted 可口可乐嗨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS--理解callapply和bind相关的知识,希望对你有一定的参考价值。

call、apply和bind

  call,apply是Function原型中的方法,它们的作用一样,区别在于传入参数的方式不同。

 

call(thisArg, arg1, arg2...)

  传入的参数不固定,第一个参数用来指定函数内部this的指向,从第二个参数往后的所有元素参数依次传入被调用的函数

 

apply(thisArg, argArray)

  可以传入两个参数,第一个参数用来指定函数内部this的指向,第二个参数是一个带有下标的集合(Array对象or类数组arguments),

  apply把这个集合中的元素依次传递给被调用的函数

 

bind(thisArg, arg1, arg2...)

  传入的参数不固定,第一个参数用来指定函数内部this的指向,从第二个参数往后的所有参数依次传入被调用的函数

  创建一个函数实例,this会被绑定到传给bind函数的第一个参数上

 

call、apply在实际开发中的应用

  改变被调用函数内部的this指向

  实现Function.prototype.bind函数

  借用其他对象的方法

以上是关于JS--理解callapply和bind的主要内容,如果未能解决你的问题,请参考以下文章

js callapply和bind

*JS核心:callapply和bind

js之 callapply和bind

js深入之实现callapply和bind

js中callapply和bind的区别

js中callapply和bind到底有什么区别?