函数柯里化
函数柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数。并且返回接受余下的参数而且返回结果的新函数的技术
柯里化
实现sum(1)(2)(3)返回结果是1,2,3之和
function sum(a){
return function(b){
return function(c){
return a+b+c
}
}
}
sum(1)(2)(3)解读
sum(1) 返回一个函数function(b)(2)----这是一个自执行函数传参2依次往下
函数柯里化通用函数
function add(...args) {
return args.reduce((sums, i) => sums + i);
}
function carrying(fn, ...args1) {
return function (...args2) {
return fn.call(this, ...args1, ...args2);
}
}
carrying(add,1)(2);