這篇文章給大家分享的是有關JavaScript如何實現函數柯里化的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
// 函數柯里化指的是一種將使用多個參數的一個函數轉換成一系列使用一個參數的函數的技術。function curry(fn, args) {
// 獲取函數需要的參數長度
let length = fn.length;
args = args || [];
return function() {
let subArgs = args.slice(0);
// 拼接得到現有的所有參數
for (let i = 0; i < arguments.length; i++) {
subArgs.push(arguments[i]);
}
// 判斷參數的長度是否已經滿足函數所需參數的長度
if (subArgs.length >= length) {
// 如果滿足,執行函數
return fn.apply(this, subArgs);
} else {
// 如果不滿足,遞歸返回科里化的函數,等待參數的傳入
return curry.call(this, fn, subArgs);
}
};}// es6 實現function curry(fn, ...args) {
return fn.length <= args.length ? fn(...args) : curry.bind(null, fn, ...args);}感謝各位的閱讀!關于“JavaScript如何實現函數柯里化”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。