- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- JavaScript/コストのかかる関数の結果をメモ化する へ行く。
- 1 (2011-07-14 (木) 13:18:14)
コストのかかる関数の結果をメモ化する
function factorial(n) { if (!factroial.cahche) { factroial.cache = { "0" : 1, "1" : 1 }; } if (!factorial.cache.hasOwnProperty(n)) { factorial.cache[n] = n * factorial(n - 1); } return factorial.cache[n]; }
function memoizer(fundamental, cache) { cache = cache || {}; var shell = function (arg) { if (!cache.hasOwnProperty(arg)) { cache[arg] = fundamental(arg); } return cache[arg]; } return shell; } var memoized = memorizer(original, { "arg" : "value" });