函数柯里化是,接管一个函数 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)