可兑现缓存的一个JS类

可实现缓存的一个JS类测试通过var adder function(n){var t 10var org n+-+Math.random()return

可实现缓存的一个JS类

测试通过
var adder = function(n){var t = 10;var org = n+"-"+Math.random();return{ getinfo:function(){document.writeln("\n\t"+org);return n+t;  }   }; };var CachedSearchBox = (function(){var cache = {},count = [],totalCount = 20;return {attachSearchBox:function(dsid){  if(dsid in cache){ print("old:::"+cache[dsid].getinfo());return cache[dsid];}var fsb = new adder(dsid);print("new::::"+fsb.getinfo());cache[dsid] = fsb;if(count.length>=totalCount){    var out = count.shift();print("del::::::::::::"+out.getinfo())delete cache[out];}count.push(fsb);return fsb;  },   clearSearchBox:function(dsid){if(dsid in cache){//cache[dsid].clearSelection();delete cache[dsid];count.shift();}  },  getcount:function(){//获取对象的长度    print("array length:"+count.length);return count.length;  },  setTotalCount:function(c){//设置缓存大小totalCount = c;  }};})();CachedSearchBox.getcount();print("<br>");(function(){   for(var i=0;i<100;i++){     CachedSearchBox.attachSearchBox(Math.ceil(Math.random()*120))  print("~~~~~");  CachedSearchBox.getcount();      print("<br>");  if(i==30)CachedSearchBox.setTotalCount(40);   }})();function print(a1){document.writeln(a1+"\n\t");}

?