//使用閉包 和遞歸 必須要滿足curry傳遞的函數(shù)條件 才可以進行執(zhí)行 比如 他傳遞了 a,b,c 比如要三個參數(shù)滿足了才會執(zhí)行這個函數(shù)
// 寫柯里化的時候不能給函數(shù)傳遞默認值
function curry(fn, length) { // 2 1
length = length || fn.length;
var slice = Array.prototype.slice;
return function() {
if (arguments.length < length) { //就是如果是一個函數(shù)他的參數(shù)肯定是 === arguments 如果在有一個函數(shù)傳遞進去 肯定進這個if 里面
var combined = [fn].concat(slice.call(arguments));
return curry(sub_curry.apply(this, combined), length - arguments.length);
} else {
return fn.apply(this, arguments);
}
};
}
var fn = curry(function(a , b, c) {
return [a, b, c];
});
// 寫柯里化的時候 不能給 函數(shù) 有默認值
var fn = curry(function(a = 1, b, c) { // fn.length ==== 0
return [a, b, c];
});
console.log(fn("a")('b')('c')); // ['a','b','c']
理解簡單的柯里化
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- 簡單理解JavaScript中的柯里化和反柯里化 前言 本文旨在讓大家簡單理解柯里化和反柯里化,這里不做深入探究,...
- 簡單理解JavaScript中的柯里化和反柯里化 前言 本文旨在讓大家簡單理解柯里化和反柯里化,這里不做深入探究,...
- 在計算機科學中,柯里化(Currying)是把接受多個參數(shù)的函數(shù)變換成接受一個單一參數(shù)(最初函數(shù)的第一個參數(shù))的函...
- 【蝴蝶效應】 蝴蝶效應:上個世紀70年代,美國一個名叫洛倫茲的氣象學家在解釋空氣系統(tǒng)理論時說,亞馬遜雨林一只蝴蝶...
- 推薦指數(shù): 6.0 書籍主旨關鍵詞:特權、焦點、注意力、語言聯(lián)想、情景聯(lián)想 觀點: 1.統(tǒng)計學現(xiàn)在叫數(shù)據(jù)分析,社會...