1. 程式人生 > >js 對固定的計算,做快取處理,比如計算乘積;

js 對固定的計算,做快取處理,比如計算乘積;

對固定的計算,做快取處理,比如計算乘積;

 

var mult = (function() {

var cache = {};

var calculate = function() {

var a = 1;

for(var i = 0, l = arguments.length; i<l;i++){

a = a * arguments[i];

}

return a;

}

return function() {

var args = Array.prototype.join.call( arguments , ',');

if( args in cache) {

return cache[args];

}

return cache[args] = calculate.apply(null, arguments);

}

})()

mult(1,4,23) //第一次計算

mult(1,4,23) //第二次拿快取