考点:函数柯里化
函数柯里化:柯里化(Currying)是把接受多个参数的函数转变为接受一个单一参数的函数,并且返回接受多个参数的函数转变为接受一个单一参数的函数,并且返回余下的参数且返回结果新函数的技术。
function add() {
const _args = [...arguments];
function fn() {
_args.push(...arguments);
return fn;
}
fn.toString = function() {
return _args.reduce((sum,cur)=> sum + cur);
}
return fn;
}
const curry = (fn) => (judge = (...args) => args.length === fn.length ? fn(...ard)=> judge(...args, ...arg));
const add =(a,b,c)=> a + b + c;
const curryAdd = curry(add);