- 追加された行はこの色です。
- 削除された行はこの色です。
* コストのかかる関数の結果をメモ化する [#s2deef6e]
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" });