首页 > 代码库 > js05---js实现Map
js05---js实现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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。