function add(num1, num2,num3) {
return num1 + num2+num3
}
add(a,b)=add(a)(b)
实现柯里化
function curry(fn, ...args) {
//判断fn要传的参数是否等于现在已经接受到了的参数的数量
if (fn.length === args.length) {
//如果相等就直接执行
console.log(fn.length)
return fn.call(null, ...args);
} else {
//如果不相等,就把全部参数传过去递归
return curry.bind(null, ...arguments);
}
}
let c = curry(add);
console.log(c(1)(2)(3));
console.log(c(1, 2,)(8));