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

《利用JS特性实现的简单HashTable 》文章中,实现了一个极简单的HashTable。利用这个hashtable可以实现一个简单的页面缓存对象cache,代码如下:
var cache = function(){
        var hash = new Hash();//定义一个hashtable容器
        return {
                contain        : function(key){
                        return hash.contain(key);
                },
                add        : function(key,obj){
                        hash.add(key,obj);
                },
                remove        : function(key){
                        hash.remove(key);
                },
                get        : function(key){
                        return hash.get(key);
                },
                length        : function(){
                        return hash.length();
                }
        };
}();
思路很简单,定义私有的容器对象,返回一个新对象,这个新对象通过闭包对容器进行增加、修改、移除等操作。这里将cache对象设计成signletion模式,因为我们一个页面只需要一个缓存。测试代码如下:
cache.add("sds",{"name":"sds","age":30});
var p = cache.get("sds");
alert(cache.length());//1
cache.remove("sds");
alert(cache.length());//0
alert(p.name);//sds
alert(p.age);//30
posted @ 2011-07-06 13:28  沈沈  阅读(206)  评论(0编辑  收藏  举报