概念
把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数, 并且返回接受余下的参数而且返回结果的新函数的技术
简述
就是在一个函数中预先填充几个参数,这个函数返回另一个函数,这个返回的新函数将其参数和预先填充的参数进行合并,再执行函数逻辑
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);
分析
柯里化之后里面每个函数只接收一个值,并且把结果返回, 换种写法。
优点
- 入口单一,易于测试与复用
- 易于排查问题
缺点
- 函数嵌套
- 占用内存
- 效率低
挑战
在实际场景中, 根据不同业务需求, 对柯里化如何正确使用。