它只是闭包的一种应用
只传递给函数一部分参数来调用它,让它返回一个函数去处理剩余的参数。这个过程就叫做柯里化。
核心思想是把多参数传入的函数拆成单参数(或部分)函数,内部再返回调用下一个单参数(或部分)函数,依次处理剩余的参数
柯里化的作用
最直观的用法就是节省代码中共同参数的重复,比如一个函数有四个参数,其中前三个在多次调用中都是一样的,最后一个视情况不同,伪代码如下:
fun(a, b, c, 'hello')
fun(a, b, c, 'world')
为了减少参数的重复,可以把函数curry化
cf = curry(fun, a, b, c)
cf('hello')
cf('world')