柯里化

柯里化

柯里化

什么是函数柯里化?

函数柯里化就是使函数先接受一部分参数,使用闭包缓存已接受的函数,返回一个新的函数,在新的函数中接受剩余参数。常常用作实现参数复用、尽量使代码函数化,增加可读性。

实现函数柯里化

先给一个常见的面试题:

add(1)//1
add(1)(2)//3
add(1)(2)(3)//6
/**
 * @description curry 函数柯里化
 * @param func 函数
 * @return 函数
 */
function curry(func){
    let outerargs = Array.from(arguments).slice(1);
  function inner(){
      const innerargs = Array.from(arguments);
    outerargs = outerargs.concat(innerargs);
    return inner;
  }
  inner.toString = function(){
      return fn.apply(null,outerargs)
  }
  return inner;
}

反柯里化

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!