函数式编程curry的概念: 只传递给函数一部分参数来调用函数,然后返回一个函数去处理剩下的参数。
var add = function(x) { return function(y) { return x + y ; } ; } ; var increment = add(1) ; increment(1)//2 var addTen = add(10) ; addTen(10)//20
我们可以一次性的调用函数,也可以每次值传入一个参数分多次调用。
简单说curry就是对高阶函数(就是一种对过程的抽象 参考map它就是一个抽象的过程)的降阶处理。比如 function(arg1,arg2)变成function(arg1)(arg2)。function(arg1,arg2,arg3)变成function(arg1)(arg2)(arg3)....以此类推。反curry就是反过来!其中有个用途可以用来分离this 比如
fn = function(x1,args){ x.prototype.g.apply(x1,args) }
本文深入解析了函数式编程中的Curry概念,通过示例展示了如何将多参数函数转换为一系列单参数函数,实现代码的灵活性和复用性。同时介绍了Curry在分离this上下文中的应用。
1783

被折叠的 条评论
为什么被折叠?



