// 柯里化函数
// 重点:闭包保存参数,递归累加参数,判断参数长度
function curry(fn, ...args) {
const fnLen = fn.length
const argsLen = args.length
if (argsLen < fnLen) {
return function (...args2) {
return curry(fn, ...args, ...args2)
}
} else {
fn(...args)
}
}
function fn(a, b, c) {
console.log(a + b + c)
}
const curFn = curry(fn)
curFn(1)(3)(6)