函数柯里化的定义是将一个多参数的函数转化为一系列使用单一参数的函数。
function curry(fn) {
const curryFn = (...args) => {
//fn.length 获取函数参数的数量
if (fn.length === args.length) {
return fn(...args)
}else {
return (...arg) => {
return curryFn(...args, ...arg)
}
}
}
return curryFn
}
let add = function (a,b) {
return a + b
}
let fn = curry(add)
console.log(fn(1)(2))