JavaScript函数式编程 简易柯里化实践
js-function-playground使用ES的功能范式,进行柯里化测试。简化的柯里化实现极为简单,只要传递了足够的参数(等于函数的length),就会自动评估并执行该函数。
var curry = require('/src/currying/simple-curry.js').curry;
function add(a, b, c) {
return a + b + c;
}
// 使用curry忽略fn.length的限制
var cAdd = curry(add);
// 满足足够的参数时,将自动评估
console.log(cAdd(28, 11)(3));
在该示例中,函数curry通过接收参数逐步执行,直到所有参数满足为止。函数add需要三个参数,因此我们可以分两步传入参数 (28, 11) 和 (3),从而在最后一步获得评估结果。
用户评论