본문 바로가기

etc

memoize

반응형
if (!Function.prototype.memoize) {

    Function.prototype.memoize = function () {
    var cache = {};
    var func = this;
    var join = Array.prototype.join;

    return function () {
    var key = join.call(arguments);
        if (!(key in cache)) {
            cache[key] = func.apply(this, arguments);
        }
        return cache[key];
        };
    };
}

반응형

'etc' 카테고리의 다른 글

테스트의 질  (0) 2011.10.19
JS  (0) 2011.10.06
Adding event handlers  (0) 2011.10.05
iterator  (0) 2011.10.05
add select option  (0) 2011.09.07