什麼是 Memoization ?
記憶函式 ( Memoization ) 是一種優化程式技巧,把需要大量計算 ( 長遞歸、長迭代操作 ) 的函式將其參數與結果緩存 ( Cache ),若調用記憶函式且給予相同參數時,不須經過計算程序,直接回傳相同結果。
沒有 Cache 機制的程式
假設有一個工人,這位工人需要去倉庫拿工具 ( getTool ) 來完成他的工作 ( task ) :
function getTool (task) {
console.log('前往倉庫拿取工具')
return task + '工作完成'
}