Skip to content

函数柯里化简单来说就是将一次性传入多个参数的函数,变为一次性可以传入任意个数的函数,当参数个数满足条件时,自然去执行。

js
function add(a , b , c ){
	return a+b+c;
}
let add1 = curry(add, 1);
console.log(curry(add)(0)(5)(6)); //3

function curry(func, ...num){
	console.log(...num);
	if(num.length >= func.length){
		return func(...num);
	}else{
		return (...newNum)=>{
			return curry(func, ...num, ...newNum);
		}
	}  
}