函数柯里化是一种将多个参数的函数转换为一系列接收单个参数的函数的技术。在JavaScript中,可以通过以下方式实现函数柯里化:
function curry(fn) {
return function curried(...args) {
if (args.length >= fn.length) {
return fn.apply(null, args);
} else {
return function (...args2) {
return curried.apply(null, args.concat(args2));
};
}
};
}
function curry(fn) {
return function curried(...args) {
if (args.length >= fn.length) {
return fn.apply(null, args);
} else {
return curried.bind(null, ...args);
}
};
}
使用这两种方式,可以将具有多个参数的函数转换为接收单个参数的函数序列,从而实现函数的柯里化。