JavaScript設(shè)計(jì)模式之緩存代理模式原理與簡(jiǎn)單用法示例
本文實(shí)例講述了JavaScript設(shè)計(jì)模式之緩存代理模式原理與簡(jiǎn)單用法。分享給大家供大家參考,具體如下:
一、原理:
緩存代理可以為一些開(kāi)銷(xiāo)大的運(yùn)算結(jié)果提供暫時(shí)的存儲(chǔ),在下次運(yùn)算時(shí),如果傳遞進(jìn)來(lái)的參數(shù)跟之前的一致,則可以直接返回前面存儲(chǔ)的運(yùn)算結(jié)果,提供效率以及節(jié)省開(kāi)銷(xiāo)。
二、實(shí)例:
var mult = function(){
console.log('開(kāi)始計(jì)算乘機(jī)');
var a = 1;
for(var i = 0, l = arguments.length;i < l;i++){
a = a*arguments[i];
}
return a;
};
var proxyMult = (function(){
var cache = {};
return function(){
var args = Array.prototype.join.call( arguments, ',');
if(args in cache){
return cache[args]; //直接返回
}
return cache[args] = mult.apply( this, arguments);
}
})();
proxyMult( 1,2,3,4); //輸出:24
proxyMult( 1,2,3,4); //輸出:24
三、解析:
通過(guò)緩存代理模式,可將決定權(quán)交給代理函數(shù)對(duì)象proxyMult,而mult函數(shù)可以專(zhuān)注于自身的職責(zé)。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專(zhuān)題:《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
js實(shí)現(xiàn)簡(jiǎn)易的單數(shù)字隨機(jī)抽獎(jiǎng)(0-9)
這篇文章主要介紹了js實(shí)現(xiàn)簡(jiǎn)易的單數(shù)字0-9隨機(jī)抽獎(jiǎng),可以控制抽取隨機(jī)數(shù)開(kāi)始與停止,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-08-08
動(dòng)態(tài)創(chuàng)建script標(biāo)簽實(shí)現(xiàn)跨域資源訪問(wèn)的方法介紹
本篇文章主要是對(duì)動(dòng)態(tài)創(chuàng)建script標(biāo)簽實(shí)現(xiàn)跨域資源訪問(wèn)的方法進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
TensorFlow.js 微信小程序插件開(kāi)始支持模型緩存的方法
這篇文章主要介紹了TensorFlow.js 微信小程序插件開(kāi)始支持模型緩存的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
改變checkbox默認(rèn)選中狀態(tài)及取值的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇改變checkbox默認(rèn)選中狀態(tài)及取值的實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
原生javascript實(shí)現(xiàn)連連看游戲
這篇文章主要為大家詳細(xì)介紹了原生javascript實(shí)現(xiàn)連連看游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01

