函数柯里化是,接管一个函数A作为参数,运行后能够返回一个新的函数B,新函数B能够处理函数A的残余参数
function add(...args){
return args.reduce((pre,curr)=> pre+curr)
}
function curry(fn){
let args=[]
return function c(...newargs){
if(newargs.length){
args=[...args,...newargs]
return args
}else{
let val=fn.apply(this,args)
args=[]
return val
}
}
}
let addc=curry(add)
addc(1)(2)(3)
发表回复