函数绑定 bind

函数拓展-bind

  bind实现的是:对函数绑定作用域

  更改作用域的方法:call,apply,with,eval,bind

  call 和 apply 的比较

    相同点:1.都是在使用时候(使用即执行)改变作用域。2.第一个参数都表示作用域

    不同点:

      call 从第二个参数开始表示传递的参数

      apply 第二个参数是数组,第一个成员表示一个将被传递的参数

  如果我们希望更改作用域的时候,不执行函数,还能传递参数,我们可以使用 bind

  bind 方法跟 call 很像

    第一个参数表示执行时候的作用域

    从第二个参数开始,表示传递的参数

  bind 是通过两项技术实现的

    函数的绑定

      函数作为参数传递的同时,可以存储函数的作用域

    函数的柯理化

      一个接收多个参数的函数,我们可以一个一个的传递参数,当函数执行的时候,传递剩余的参数。

      作用:增强函数的适用性

   

原文地址:https://www.cnblogs.com/crazycode2/p/8503081.html