还是很好理解的
这里记录下学习时的代码片段
// 参数未完整 记录并返回函数等待接收剩余参
// 参数完整 执行结果
// 柯里化解析
function curry(fn) {
return function curryFn(...args) {
// 判断实参和形参个数
// 传递给curry参数小于fn参数时 返回一个函数并存储实参
if (args.length < fn.length) {
return function() {
return curryFn(...args, ...arguments)
};
};
return fn(...args);
};
}
柯里化函数总结
// 将多元函数转换为一元函数 使用灵活可组合函数
// 函数粒度更小
// 可记录(缓存)参数