简单理解:
1,函数柯里化就是把多参数函数分解为多return的单参数函数:
举个例子(伪代码):
function func (a, b, c){ return } 柯里化为 function func1 (a){ return function (b){ return function (c){ return } } } 调用时 func(1, 2, 3) func1(1)(2)(3)
柯里化会固定函数的几个参数,
偏函数一般也是会固定函数的几个参数,但是一般第一个参数为一个函数,作为被返回并执行的函数
实现方式如下:
/入参函数 function add(a,b){ return a + b; } //生产偏函数的工厂 function partial(fn,a){ return function(b){ return fn(a,b); } } var parAdd = partial(add,1);//变量parAdd接受返回的新函数 //此时返回 // function(b){ // return fn(a,b); // } console.log(parAdd(2));//在调用的时候传入剩余的参数 //此时返回fn(a,b) 会执行函数,返回结果 //结果:3
与bind比较类似:待整理
https://www.jianshu.com/p/eb583d76452f
https://blog.csdn.net/qq_42129063/article/details/81874314