• 缓存容器


      

     1  function createCache(){
     2             //cache对象中以键值对的形式存储我们的缓存数据
     3             var cache = {};
     4             //index数组中该存储键,这个键是有顺序,可以方便我们做超出容量的处理
     5             var index = [];
     6             return function (key, value) {
     7                 //如果传了值,就说名是设置值
     8                 if(value !== undefined){
     9                     //将数据存入cache对象,做缓存
    10                     cache[key] = value;
    11                     //将键存入index数组中,以和cache中的数据进行对应
    12                     index.push(key);
    13 
    14                     //判断缓存中的数据数量是不是超出了限制
    15                     if(index.length >= 50){
    16                         //如果超出了限制
    17                         //删除掉最早存储缓存的数据
    18                         //最早存入缓存的数据的键是在index数组的第一位
    19                         //使用数组的shift方法可以获取并删除掉数组的第一个元素
    20                         var tempKey = index.shift();
    21                         //获取到最早加入缓存的这个数据的键,可以使用它将数据从缓存各种删除
    22                         delete cache[tempKey];
    23                     }
    24                 }
    25                 //如果没有传值,只穿了键,那就是获取值
    26 //                else{
    27 //                    return cache[key];
    28 //                }
    29                 return cache[key];
    30             }
    31         }

     jQuery的缓存容器

     1  function createCache() {
     2             var keys = [];
     3             function cache( key, value ) {
     4                 // 使用(key + " ") 是为了避免和原生(本地)的原型中的属性冲突
     5                 if ( keys.push( key + " " ) > 3 ) {
     6                     // 只保留最新存入的数据
     7                     delete cache[ keys.shift() ];
     8                 }
     9                 // 1 给 cache 赋值
    10                 // 2 把值返回
    11                 return (cache[ key + " " ] = value);
    12             }
    13             return cache;
    14         }
  • 相关阅读:
    养生之《爱的供养》
    道家养生,与佛家养德
    个人的佛法·5·活着,与死去
    自我囚禁与安住于轮回
    个人的佛法·4·我是不是东西?
    个人的佛法·2
    我们都是生命的灯塔
    大O表示法是什么?
    uni-app商城项目(01)
    2059
  • 原文地址:https://www.cnblogs.com/mr-yuan/p/6006376.html
Copyright © 2020-2023  润新知