函数柯里化指的是将能够接收多个参数的函数转化为接收单一参数的函数,并且返回接收余下参数且返回结果的新函数的技术。
function curry (fn) {
const ctx = this;
function inner (...args) {
if (args.length === fn.length)
{
return fn.call(ctx, ...args);
}
return (...innerArgs) => inner.call(ctx, ...args, ...innerArgs);
}
return inner;
}