美文网首页
函数绑定与函数柯里化

函数绑定与函数柯里化

作者: EmilWong | 来源:发表于2019-07-24 01:59 被阅读0次

    用于创建已经设置好了一个或者多个参数的函数。
    创建柯里化函数的通用方式:

    function curry(fn) {
      var args =   Array.prototype.slice.call(arguments, 1)
      return function () {
        var innerArgs = Array.prototype.slice.call(arguments);
        var finalArgs = args.concat(innerArgs);
        return fn.apply(null, finalArgs);
      }
    }
    

    柯里化构造更为复杂的bind()函数:

    function bind(fn, context) {
      var args = Array.prototype.slice.call(arguments, 2);
      return function() {
        var innerArgs = Array.prototype.slice.call(arguments);
        var finalArgs = args.concat(innerArgs);
        return fn.apply(context, finalArgs);
      }
    }
    

    相关文章

      网友评论

          本文标题:函数绑定与函数柯里化

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