/**
* 函数柯里化就是将多个参数变成能够多个部分参数的函数调用,可以解决完成一项任务,但是参数不是一次性给出的情况
*/
function curry(a) {
return function(b) {
return a + b;
};
}
console.log(curry(2)(8));
let add = curry(2);
console.log(add(10));
// 通用的柯里化函数
function curry(a, ...arg) {
var all = arg || [];
return (...rest) => {
// 返回一个函数,这个函数接收一些参数
let args = all.slice(0);
args.push(...rest);
if (args.length < a.length) return curry.call(this, fn, ...args);
// 如果参数不够
else return fn.call(this, ...args); // 参数够直接调用函数
};
}
函数柯里化
最新推荐文章于 2024-06-18 00:30:00 发布