//js模拟map

Map = {
obj : {},
put : function(key , value){
this.obj[key] = value;
},
get : function(key){
return this.obj[key];
},
eachMap : function(fn){
for(var arr in this.obj){
fn(arr,this.obj[arr]);
}
}
};

var map = Map;

//利用js对象的key,value的唯一性特性实现模拟

//put 方法
map.put('key1',9);
map.put('key2', false);
map.put('key3',new Date());

//遍历map中的值,以回调函数的方式操作,回调函数就是把自己的函数作为参数传入对象并添加对象的属性作为参数执行
map.eachMap(function(key,value){
alert(key+' :'+value);
});
alert(map.get('key2'));

********************************************************************************************************************************************************

// call方法的简单模拟与实现

把函数放到某一个对象中使用
//function 方法
function test1(a , b){
return a+b;
}

// 自定义的对象
function Obj(x, y){
this.x = x ;
this.y = y ;
return x*y;
}

var o = new Obj(10 , 20);
o.method = test1 ;
alert(o.method(o.x , o.y));
delete o.method;

//alert(test1.call(o,o.x ,o.y));

js 模拟java 中 的map的更多相关文章

  1. js中object类型模拟java中的map

  2. 在JavaScript 自定义对象来模拟Java中的Map

    直接看代码: //模拟一个Map对象 function Map(){ //声明一个容器 var container={}; //定义一个put方法,向容器中存值 this.put=function(k ...

  3. javascript 实现java中的Map

    javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-e ...

  4. Map java中的map 如何修改Map中的对应元素

    Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.         Map的接口         Map ...

  5. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  6. Java中遍历Map集合的四种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  7. JAVA中关于Map的九大问题

    通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的.下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题. 0.将Map转换为List类型 在java中Map接口提 ...

  8. java中遍历map对象的多种方法

    在Java中如何遍历Map对象   How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...

  9. java中遍历MAP,嵌套map的几种方法

    java中遍历MAP的几种方法 Map<String,String> map=new HashMap<String,String>();    map.put("us ...

随机推荐

  1. HealthKit框架参考(转)

    来自:http://www.cocoachina.com/ios/20140915/9624.html 本文由CocoaChina翻译组成员 唧唧歪歪(微博) 翻译自苹果官方文档:The Health ...

  2. [UI]抽屉菜单DrawerLayout分析(二)

    继续分析DrawerLayout的手势分发部分 谈到手势分发,这本身就是个好话题,DrawerLayout作为继承自ViewGroup得布局他可以拦截手势也可以分发给子view,也就是在 onInte ...

  3. ASP.NET不通过添加web引用的方式调用web service接口

    尊重原著作:本文转载自http://bbs.csdn.net/topics/360223969 创建方法 //动态调用web服务 public static object InvokeWebSer(s ...

  4. C#调用短信接口(通过简单的工厂模式整合多个短信平台)

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  5. 20151214--JSTL

  6. BZOJ 1396: 识别子串( 后缀数组 + 线段树 )

    这道题各位大神好像都是用后缀自动机做的?.....蒟蒻就秀秀智商写一写后缀数组解法..... 求出Height数组后, 我们枚举每一位当做子串的开头. 如上图(x, y是height值), Heigh ...

  7. C语言栈的实现

    栈是常用的数据结构之一,下面给出一个链式栈的实现~~头文件Stack.h #ifndef Stack_H #define Stack_H typedef int Item; typedef struc ...

  8. jitpack让使用第三方依赖库更简单

    在开发过程中,使用第三方优秀依赖库是个很常见的问题,有的时候是maven,或者gradle, 或者sbt,大部分库工程,都会有对应的gradle,maven依赖代码,但是有的没有,尤其是使用的snap ...

  9. 重写javascript浮点运算

    javascript中变量存储时不区分number和float类型,同一按照float存储; javascript使用IEEE 754-2008标准定义的64bit浮点格式存储number,decim ...

  10. php中mysql语句的基本写法

    php中mysql语句的基本写法 php作为一门后台语言必须要与mysql数据库打交道,做到将内容存储到数据库以及数据库数据读写的操作,那么下面就来说下最近学习的一些东西: 在具体将之前先说一下编码的 ...