cache对象中以键值对的形式存储我们的缓存数据
function createCache(){
//cache对象中以键值对的形式存储我们的缓存数据
var cache = {};
//index数组中存储该键,这个键是有顺序,可以方便我们做超出容量的处理
var index = [];
return function(key,value){
//如果传了值,就说名是设置值
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];
}
}
//测试一下
var eleCache = createCache();
eleCache("name","金克丝");
console.log(eleCache("name"));
var typeCche = createCache();