美文网首页
通用型JS函数柯里化

通用型JS函数柯里化

作者: 小豆soybean | 来源:发表于2021-10-16 15:13 被阅读0次

    // 支持多参数传递

    function progressCurrying(fn, args) {
        var _this = this
        var len = fn.length;
        var args = args || [];
    
        return function() {
            var _args = Array.prototype.slice.call(arguments);
            Array.prototype.push.apply(_args, args);
    
            // 如果参数个数小于最初的fn.length,则递归调用,继续收集参数
            if (_args.length < len) {
                return progressCurrying.call(_this, fn, _args);
            }
    
            // 参数收集完毕,则执行fn
            return fn.apply(this, _args);
        }
    }
    

    相关文章

      网友评论

          本文标题:通用型JS函数柯里化

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