一直想做一个自己的ajax框架,所以要给自己的javascript要恶补一下。 最近在看Javascript权威指南第四版,有10000多页,象字典一样。不过确实够权威的。 javascript的提供的对象比较少,不象java一样,有List,ArrayList,Map,HashMap等各种数据对象。于是就利用javascript的对象技术,封装了一个类似于java里的Map 对象 //自定义的Map 对象 function Map(){ this.elements=new Array(); this.size=function(){ return this.elements.length; } this.put=function(_key,_value){ this.elements.push({key:_key,value:_value}); } this.remove=function(_key){ var bln=false; try{ for (i=0;i<this.elements.length;i++){ if (this.elements[i].key==_key){ this.elements.splice(i,1); return true; } } }catch(e){ bln=false; } return bln; } this.containsKey=function(_key){ var bln=false; try{ for (i=0;i<this.elements.length;i++){ if (this.elements[i].key==_key){ bln=true; } } }catch(e){ bln=false; } return bln; } this.get=function(_key){ try{ for (i=0;i<this.elements.length;i++){ if (this.elements[i].key==_key){ return this.elements[i]; } } }catch(e){ return null; } } } //测试Map的调用方法 function testMap(){ var testmap=new Map(); testmap.put("01","michael"); testmap.put("02","michael2"); alert (testmap.size()); var key="02" if (testmap.containsKey(key)){ var element=testmap.get(key); alert (element.key+""+element.value); }else{ alert ("不包含"+key); } testmap.remove("02"); if (testmap.containsKey(key)){ var element=testmap.get(key); alert (element.key+""+element.value); }else{ alert ("不包含"+key); } }
|