js高级——缓存

本文探讨了缓存在提升性能中的作用,并通过创建一个缓存函数`createCache()`来实现。该函数内部使用键值对形式的`cache`对象存储数据,并通过`index`数组跟踪顺序。当缓存数据超过设定容量(50项)时,会自动移除最早添加的条目。示例展示了如何使用创建的缓存容器存储和获取数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.缓存的作用:将一些常用的数据存储起来提供使用,提升性能


//eleCache
//typeCache
//classCache
//eventCache

function createCache(){
    //cache对象中以键值对的形式存储缓存数据
    var cache = {};
    //index数组中存储键,这个键是有顺序的,可以方便我们做超出容量处理
    var index = []; //内存应该要有大小限制
    return function (key,value){ //得需要方法去搜到cache
        //如果传了值,说明是设置值
        if(value !== undefined){
            //将数据存入cache对象,做缓存
            cache[key] = value;
            //将键存入index数组中以和cache中的数据对应
            index.push(key);
        }
    //判断缓存中的数据数量是否超出了限制
    if(index.length >= 50){
        //如果超出了限制    
        //删掉最早存入缓存的数据
        //最早存入的缓存的数据的键是在index数组的第一位

        //使用数组的shift方法可以获取并删除数组的第一个元素
        var tempkey = index.shift();
        //获取到最早加入缓存的这个数据的键,可以使用它将数据从缓存中删除
        delete cache[tempkey];
    }
    return cache[key];
    }else{ //如果没有传值,只传了键,那就是获取值
        return cache[key];
    }
}
}

var eleCache = createCache();
eleCache("name","张学友");
console.log(eleCache("name"));
var typeCache = createCache();
//上面的代码其实就是做了一个缓存容器,想使用缓存的时候就直接用这个方法就能使用



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值