面向?qū)ο蟆彺鏅C(jī)制.md

緩存

今天,學(xué)習(xí)了緩存,突然發(fā)現(xiàn)緩存有巨大的作用,可以節(jié)省流量,而且
看到很多工作要求,發(fā)現(xiàn)需要有開發(fā)緩存的經(jīng)驗(yàn)。所以總結(jié)一下。

1.什么是緩存

就是我們手動(dòng)開辟一塊空間,讓他一直存在,且不會(huì)給垃圾回收機(jī)制回收。

案例:這個(gè)案例是一個(gè)緩存機(jī)制,最大數(shù)據(jù)存儲(chǔ)三條數(shù)據(jù),多了,就會(huì)刪除
前面的數(shù)據(jù)

    function createCache () {
        var data = [], max = 3;
        // 去掉 var 的目的是為了使得變量編程全局變量, 可以調(diào)試查看 data 中的數(shù)據(jù)
        // 開發(fā)中不允許省略 var

        function cache ( key, value ) {

            // 做判斷, 如果超出范圍, 則, 將最開始加入的 移除 
            // 將數(shù)組 第 0 項(xiàng)元素移除的 splice, shift
            if ( data.length >= 3 ) {
                // 需要先移除
                var temp = data.shift();
                delete cache[ temp ];
            } 

            data.push( key );

            cache[ key ] = value;
        }
        return cache;
    }

    var kvCache = createCache();
    

如上代碼,是我們學(xué)習(xí)所研究的代碼,看到上面代碼我發(fā)現(xiàn)有不足之處。

1.多申請了一個(gè)數(shù)組。和一個(gè)變量。

2.看起來不易讓人理解。

我自己寫了一個(gè)改良版的,使用面向?qū)ο蟮膶懙摹?/strong>

(function(w){

        function cache(){
            this.length=0;   //存放數(shù)據(jù)的個(gè)數(shù)
            this.maxLength=3; //允許存放數(shù)據(jù)最大的個(gè)數(shù)
        }
         cache.prototype.add=function(str,value){
                ++this.length;
                this[str]=value;
                if(this.length>this.maxLength){  //如果存放數(shù)據(jù)長度大于最大數(shù)據(jù)長度就刪除
                console.log(1);
                for(var k in this){
                    if(k=='length' ||k=='maxLength')continue;
                          delete this[k];
                          break;
                    }

                }
         }
        w.cache= new cache();
    })(window);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,211評論 25 708
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時(shí)芥藍(lán)閱讀 42,819評論 11 349
  • 知道這段文字不會(huì)引起多少共鳴,只是單純的描述我的生活。 昨天晚上收到了大學(xué)老師的一條微信,他說:你還年輕,希望我最...
    Tomorrow057閱讀 324評論 0 0
  • 圖文 / 瑞卡斯Ricas <一> 我知道一定還有很多這樣的人。 他們困囿在某個(gè)城市的一處小出租房里過著百無聊賴的...
    瑞卡斯Ricas閱讀 12,293評論 94 584
  • 用時(shí)三天,天空云稍多了點(diǎn),實(shí)在不好改啊。丙烯酸顏料太容易干,我對它的性能還沒摸熟。 以下記錄了一些步驟,但是邊畫邊...
    旌城蝸牛閱讀 1,006評論 22 26

友情鏈接更多精彩內(nèi)容