js函数柯里化

127 阅读1分钟

概念

把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数, 并且返回接受余下的参数而且返回结果的新函数的技术

简述

就是在一个函数中预先填充几个参数,这个函数返回另一个函数,这个返回的新函数将其参数和预先填充的参数进行合并,再执行函数逻辑

JS的柯里化

把一个函数要接收的几个参数,分开放在固定几个函数里, 然后把接收的值返回

普通函数

function fn(a, b, c) {
  console.log(a + b + c);
}

fn(3, 4, 5);

柯里化后

function kl(a) {
  return function(b) {
    return function(c) {
      console.log(a + b + c);
    };
  };
}

kl(3)(4)(5);

分析

柯里化之后里面每个函数只接收一个值,并且把结果返回, 换种写法。

优点

  • 入口单一,易于测试与复用
  • 易于排查问题

缺点

  • 函数嵌套
  • 占用内存
  • 效率低

挑战

在实际场景中, 根据不同业务需求, 对柯里化如何正确使用。