函数柯里化(Currying)是函数式编程中的一种技术,它将一个多参数的函数转换为一系列接受一个单一参数的函数。换句话说,柯里化允许你将一个函数分解成多个函数,每个函数都接受一个参数,并返回一个接受下一个参数的函数,直到所有参数都被提供,并返回最终结果。
示例代码:对下面add函数柯里化
let add=(a,b,c)=>{
return a+b+c
}function curry(){let fn=arguments[0]let args=Array.prototype.slice.call(arguments,1)
if(args.length===fn.length){return fn.apply(this,args)
}function _curry(){args.push(...arguments)if(args.length===fn.length){return fn.apply(this,args)}return _curry
}return _curry}let adds=curry(add)
console.log(adds(1)(2)(3))