函數柯里化是一種將多個參數的函數轉換為一系列接收單個參數的函數的技術。在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);
}
};
}
使用這兩種方式,可以將具有多個參數的函數轉換為接收單個參數的函數序列,從而實現函數的柯里化。