先過濾掉underscore內部各個工具函數的具體邏輯,只看源碼庫本身有什麼內容。 構造函數 underscore有兩種調用方式: 風格對象 _.map([1, 2, 3], function(n){ return n * 2; }); 函數風格_([1, 2, 3]).map(function(n){ return n * 2; }); _是一個函數對象,api中的函數全都掛載到_上,實
緩存函數 memorizition 定義:將上次的計算結果緩存起來,當下次調用時,如果遇到相同的參數,就直接返回緩存中的數據。 let add = (a,b) = a+b; let calc = memoize(add); calc(10,20);//30 calc(10,20);//30 緩存 如果要實現以上功能,主要依靠 閉包 、柯里化、高階函數 實現原理:把參數和對應的結果數據存在一個對象中