JS lodash中curry(柯里化函数)原生解析

还是很好理解的
这里记录下学习时的代码片段

// 参数未完整 记录并返回函数等待接收剩余参
// 参数完整 执行结果

// 柯里化解析
function curry(fn) {
    
    
    return function curryFn(...args) {
    
    
        // 判断实参和形参个数
        // 传递给curry参数小于fn参数时 返回一个函数并存储实参
        if (args.length < fn.length) {
    
    
            return function() {
    
    
                return curryFn(...args, ...arguments)
            };
        };
        return fn(...args);
    };
}

柯里化函数总结

// 将多元函数转换为一元函数 使用灵活可组合函数
// 函数粒度更小
// 可记录(缓存)参数

猜你喜欢

转载自blog.csdn.net/qq_45284938/article/details/127005380
今日推荐