跟小D每日学口语

基于hashtable的简单页面js数据缓存

《利用JS特性实现的简单HashTable》文章中,实现了一个极简单的HashTable。利用这个hashtable可以实现一个简单的页面缓存对象cache,代码如下:

 1 var cache = function(){
2
3 var hash = new Hash();//定义一个hashtable容器
4 return {
5 contain : function(key){
6 return hash.contain(key);
7 },
8 add : function(key,obj){
9 hash.add(key,obj);
10 },
11 remove : function(key){
12 hash.remove(key);
13 },
14 get : function(key){
15 return hash.get(key);
16 },
17 length : function(){
18 return hash.length();
19 }
20 };
21 }();

思路很简单,定义私有的容器对象,返回一个新对象,这个新对象通过闭包对容器进行增加、修改、移除等操作。这里将cache对象设计成signletion模式,因为我们一个页面只需要一个缓存。测试代码如下:

1 cache.add("sds",{"name":"sds","age":30});
2 var p = cache.get("sds");
3 alert(cache.length());//1
4 cache.remove("sds");
5 alert(cache.length());//0
6 alert(p.name);//sds
7 alert(p.age);//30

转自:http://www.babyhey.com/forum.php?mod=viewthread&tid=1211&extra=page%3D1

posted @ 2011-09-05 17:31  腐乳  阅读(293)  评论(0)    收藏  举报