若是一个值要通过多个函数,才能变成另一个值,就能够把全部中间步骤合并成一个函数,这叫作"函数的合成"(compose)。segmentfault
const compose = function (f, g) { return function (x) { return f(g(x)); }; }
所谓"柯里化",就是把一个多参数的函数,转化为单参数函数。函数
// 柯里化以前 function add(x, y) { return x + y; } add(1, 2) // 3 // 柯里化以后 function addX(y) { return function (x) { return x + y; }; } addX(2)(1) // 3
参考连接:
JS中的柯里化 及 精巧的自动柯里化实现code