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();
//上面的代码其实就是做了一个缓存容器,想使用缓存的时候就直接用这个方法就能使用