美文网首页
手写简单.bind()实现

手写简单.bind()实现

作者: 小金子_web | 来源:发表于2018-05-21 15:10 被阅读0次

手写一个实现柯里化的.bind()

柯里化:《函数柯里化小结》
柯里化:前端开发者进阶之函数柯里化Currying
bind():Javascript中bind()方法的使用与实现

函数柯里化(个人理解):一个函数只接收单个参数,但是函数层层嵌套并return,可实现预设参数(参数复用)、提前返回(理解不是很透彻)、延迟执行(ES5的bind())。

// 实现一个函数柯里化的原生bind方法  
Function.prototype._bind = function (context) {
  let self = this;
  let firstArg = Array.prototype.slice.call(arguments,1);
  return function () {
    let secArg = Array.prototype.slice.call(arguments);
    let finishArg = firstArg.concat(secArg);
    return self.apply(context,finishArg);
  }
}

相关文章

网友评论

      本文标题:手写简单.bind()实现

      本文链接:https://www.haomeiwen.com/subject/vcsfjftx.html