js05---js實現Map
阿新 • • 發佈:2017-05-16
ret nbsp fun size back 變量 () div map()
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script type=text/javascript charset=utf-8> /* function Map(){ this.name = "sss"; console.log("sssssss"); this.say = function(){console.log("hhhhhhhh");} } Map();//sssssss,window是Map類的一個實例化對象。var window = new Map() console.log(window.name);//sss window.say();//hhhhhhhh var m = new Map();//sssssss,m是Map類的實例化對象 console.log(m.name);//sss*/ function Map(){ // private,局部變量 var obj = {} ;// 空的對象容器,承裝鍵值對 // put 方法 this.put = function(key , value){ obj[key] = value ; // 把鍵值對綁定到obj對象上 } // size 方法 獲得map容器的個數 this.size = function(){ var count = 0 ; for(var attr in obj){ count++; } return count ; } // get 方法 根據key 取得value this.get = function(key){ if(obj[key] || obj[key] === 0 || obj[key] === false){//obj[key]為0或者false,不走這裏了。 return obj[key]; } else { return null; } } //remove 刪除方法 this.remove = function(key){ if(obj[key] || obj[key] === 0 || obj[key] === false){ delete obj[key]; } } // eachMap 變量map容器的方法 this.eachMap = function(fn){ for(var attr in obj){ fn(attr, obj[attr]); } } } //模擬java裏的Map var m = new Map(); m.put(‘01‘ , ‘abc‘); m.put(‘02‘ , false) ; m.put(‘03‘ , true); m.put(‘04‘ , new Date()); alert(m.size()); alert(m.get(‘02‘)); m.remove(‘03‘); alert(m.get(‘03‘)); m.eachMap(function(key , value){ alert(key +" :"+ value); }); </script> </head> <body> </body> </html>
js05---js實現Map