您的位置:首页 > Web前端 > JavaScript

js缓存代理

2017-01-18 21:04 239 查看
<h1>缓存代理</h1>
<p>缓存代理可以为一些开销大的运算结果提供暂时的储存,再下次运算时,如果传递进来的参数跟之前一致,则可以直接返回存储的运算结果。</p>
<p>示例:缓存代理的例子——计算乘积</p>
<script>
var mul = function(){
console.log("开始计算乘积");
var a = 1;
for(var i = 0; i < arguments.length; i++){
a = a * arguments[i];
};
return a;
};

var proxyMul = (function(){
var cache = {};

return function(){
var args = Array.prototype.join.call(arguments,",");
if( args in cache ){
return cache[args];
}else{
return cache[args] = mul.apply(this,arguments);
}

}
}());

proxyMul(12,10);
proxyMul(12,10);
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: