JavaScript設(shè)計(jì)模式之緩存代理模式原理與簡(jiǎn)單用法示例
本文實(shí)例講述了JavaScript設(shè)計(jì)模式之緩存代理模式原理與簡(jiǎn)單用法。分享給大家供大家參考,具體如下:
一、原理:
緩存代理可以為一些開(kāi)銷大的運(yùn)算結(jié)果提供暫時(shí)的存儲(chǔ),在下次運(yùn)算時(shí),如果傳遞進(jìn)來(lái)的參數(shù)跟之前的一致,則可以直接返回前面存儲(chǔ)的運(yùn)算結(jié)果,提供效率以及節(jié)省開(kāi)銷。
二、實(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ù)可以專注于自身的職責(zé)。
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《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)合并兩個(gè)數(shù)組并去除重復(fù)項(xiàng)只留一個(gè)的方法
這篇文章主要介紹了JS實(shí)現(xiàn)合并兩個(gè)數(shù)組并去除重復(fù)項(xiàng)只留一個(gè)的方法,涉及JavaScript數(shù)組合并及去重的相關(guān)技巧,需要的朋友可以參考下2015-12-12document.createElement()用法及注意事項(xiàng)(ff下不兼容)
今天處理了一個(gè)日期選擇器的ie和ff的兼容問(wèn)題,本來(lái)這種情況就很難找錯(cuò)誤,找了好久才把錯(cuò)誤定位到j(luò)s中創(chuàng)建元素的方法document.createElement(),這個(gè)方法在ie下支持這樣創(chuàng)建元素2013-03-03JS幻燈片可循環(huán)播放可平滑旋轉(zhuǎn)帶滾動(dòng)導(dǎo)航(自寫(xiě))
本文為大家介紹下實(shí)現(xiàn)JS幻燈片可循環(huán)播放帶滾動(dòng)導(dǎo)航可平滑旋轉(zhuǎn)的全過(guò)程,效果還不錯(cuò),由需要的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08js和jquery批量綁定事件傳參數(shù)一(新豬豬原創(chuàng))
js綁定事件傳參,javascript綁定事件傳參數(shù),jquery綁定事件傳參數(shù)2010-06-06JS函數(shù)動(dòng)態(tài)傳遞參數(shù)的方法分析【基于arguments對(duì)象】
這篇文章主要介紹了JS函數(shù)動(dòng)態(tài)傳遞參數(shù)的方法,結(jié)合實(shí)例形式分析了javascript通過(guò)arguments對(duì)象獲取傳遞參數(shù)的相關(guān)操作技巧,需要的朋友可以參考下2019-06-06微信小程序開(kāi)發(fā)自定義tabBar實(shí)戰(zhàn)案例(定制消息99+小紅心)
一定的需求情況下無(wú)法使用小程序原生的tabbar的時(shí)候,需要自行實(shí)現(xiàn)一個(gè)和tabbar功能一模一樣的自制組件,下面這篇文章主要給大家介紹了關(guān)于微信小程序開(kāi)發(fā)自定義tabBar(定制消息99+小紅心)的相關(guān)資料,需要的朋友可以參考下2022-12-12