乐趣区

关于javascript:函数缓存

在任何一个语言中,如果要一段程序计算量比拟大、执行工夫比拟长,咱们能够应用缓存机制将其后果保留下来,待一下次执行雷同的程序时,能够去保留的后果中间接获取,而无需再次计算。

在 JavaScript 中的实现如下


let cache = {};
function compute(a){
    let result;
    let key = a.toString();
    if(cache[a]){result = cache[a];
    }else{cache[key] = longTime(a);
    }
    return result;
    
}

咱们也能够将 cache 对像附加到函数上, 这里提供一种简略的写法,基本原理还是从 cache 中取后果。

let cache = {};
function compute(a){
    let result;
    let key = a.toString();
    if(this.cache[a]){result = this.cache[a];
    }else{this.cache[key] = longTime(a);
    }
    return result;
}
compute.prototype.cache = cache;
new compute('test');
退出移动版