科里化>科瑞
把一个接受多个参数的函数,变成一系列接受一个参数的内部函数,这样他们的值就能保留
//普通函数 function add(a,b,c){ return a+b+c; } console.log(add(1,2,3))
科里化函数
function addcurren(a){ retun addsix(b){ return addhi(c){ return a+b+c; } } } console.log(addcurren(1)(2)(3))
因为每次return出来的都是一个函数,所以需要每个return出来之后的函数在传值
优点:前俩个值固定的,第三个不固定变化,可以先把前俩个固定数的结果计算出来,然后第三个数想传什么就传什么,可以多次调用
function x(a){ return y(b){ return z(c){ return a+b+c; } } } //这样就可以把前俩次传的值保留住了 var obb=x(1)(2); console.log(obb(3)) conosle.log(obb(5))