柯里化函数实现

172 阅读1分钟

柯里化函数实现

柯里化函数的实现实质上是一个收集参数的过程 函数柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。

函数柯里化的主要作用:

  • 参数复用
  • 提前返回 – 返回接受余下的参数且返回结果的新函数
  • 延迟执行 – 返回新函数,等待执行
function curry(fn,...args){
    if (typeof fn != 'function') {
        throw new TypeError('Error')
    }
    const callee=arguments.callee;
    return args.length<fn.length?(..._args)=>callee(fn,...args,..._args):fn(...args);
}