編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

コストのかかる関数の結果をメモ化する

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" });

出典

http://www.slideshare.net/nzakas/writing-efficient-javascript


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-01-28 (土) 14:07:29 (2006d)