<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>javascript高级语法2-高级类</title>
</head>
<body>
<script>
/*
//在js中利用function来定义类。
function Shape(){
var x=1;
var y=2;
}
//实例化对象;
var a = new Shape();
// 在类的内部用var定义的是私有变量。如何定义共有变量呢?
function Shape2(){
this.x = 1;
this.y = 2;
}
var b = new Shape2();
//this代表的是当前的实例。
alert(a.x); //undefined
alert(b.x); //1 //除了定义私有变量外 还可以用var定义私有函数。
function Shape3(){
var show=function(){
//私有函数
}
this.show2 = function(){
//公有函数
}
} //用js模仿oop编程
function Shape4(x,y){
var a = 0,b = 0;
//模仿oop编程的构造函数
var init = function(){
a = x;
b = y;
};
init(); this.getX = function(){
return a;
}
}
var d = new Shape4(2,4);
alert(d.getX()); // js中的静态方法是作用到类身上的,而不是对象上
function Person(){this.str = "zhangdan"}
//静态变量
Person.age = 10;
Person.show = function(obj){
return obj.str
}
alert(Person.show(new Person())); //简单类定义方法
var a = {};
var array = [];
a["name"] = "zhangdan";
alert(a.name); */
//自定义map类
function jMap(){
//私有变量
var arr= {};
//增加
this.put = function(key,value){
arr[key] = value;
}
//查询
this.get = function(key){
if(arr[key]){
return arr[key]
}else{
return -1
}
}
//删除
this.remove = function(key){
delete arr[key]
}
//遍历
this.eachMap = function(fn){
for(var key in arr){
fn(key,arr[key]);
}
}
} var country =new jMap();
country.put("01","zg");
country.put("02","tg");
country.put("03","mg");
country.put("04","jnd"); // alert(country.get("01")); country.eachMap(function(key,value){
document.write(key+"-->"+value+"<br/>");
})
</script>
</body>
</html>

JavaScript设计模式-2高级类.的更多相关文章

  1. javascript设计模式-掺元类

    有一种重用代码的方法不需要用到严格的继承.如果想把一个函数用到多个类中,可以通过扩充的方式让这些类共享该函数.其实际做法大大体为:先创建一个包含各种通用方法的类,然后再用它扩充其他的类.这种方式就叫做 ...

  2. 《JavaScript设计模式 张》整理

    最近在研读另外一本关于设计模式的书<JavaScript设计模式>,这本书中描述了更多的设计模式. 一.创建型设计模式 包括简单工厂.工厂方法.抽象工厂.建造者.原型和单例模式. 1)简单 ...

  3. JavaScript的学习--JavaScript设计模式的总结

    这篇博客只是自己对设计模式的理解的备忘~ 看完了<JavaScript设计模式>这本书,一直没有写博客记录一下,最近抽出时间来重读了一下,就顺便记录一下~ 如果你只是想粗略了解一下Java ...

  4. JavaScript设计模式-单例模式、模块模式(转载 学习中。。。。)

    (转载地址:http://technicolor.iteye.com/blog/1409656) 之前在<JavaScript小特性-面向对象>里面介绍过JavaScript面向对象的特性 ...

  5. 转载,javascript 设计模式

    了解JavaScript设计模式我们需要知道的一些必要知识点:(内容相对基础,高手请跳过) 闭包:关于闭包这个月在园子里有几篇不错的分享了,在这我也从最实际的地方出发,说说我的理解. 1.闭包最常用的 ...

  6. 【JavaScript设计模式系列---开篇预览】

    转:http://www.cnblogs.com/Darren_code/archive/2011/08/31/JavascripDesignPatterns.html 2011-08-31 23:5 ...

  7. JavaScript设计模式_01_单例模式

    最近项目不太忙,难得有时间看看书,平时挺喜欢js这门语言.也看过很多高级教程,觉得自己还是比较热衷于js的设计模式.这一次重温一下<JavaScript设计模式与开发实践>,开篇为单例模式 ...

  8. 再起航,我的学习笔记之JavaScript设计模式11(外观模式)

    经过一段时间的学习与分享,我们对创建型设计模式已经有了一定的认识,未来的一段时间里我们将展开新的篇章,开始迈入结构性设计模式的学习. 结构性设计模式与创建型设计模式不同,结构性设计模式更偏向于关注如何 ...

  9. Javascript设计模式(1)

    本文是学习了<JavaScript设计模式>(谢廷晟 译)做的学习笔记 一.JavaScript的灵活性 1. 普通 functon function startAnimation() { ...

随机推荐

  1. 单链表(带random指针)深拷贝(Copy List with Random Pointer)

    问题: A linked list is given such that each node contains an additional random pointer which could poi ...

  2. IDEA配置hibernate

    当做完struts2的demo之后,发现这些和myeclipse下面几乎没有差别. 唯一觉得不好的就有一点,model的映射文件 .hbm.xml这个无法通过model来生成,所以是手写,有点麻烦.这 ...

  3. TSQL--自增键和索引对表的插入效率测试

    问题描述:数据库操作中,需要对表频繁插入数据,但发现插入效率不高. 解决思路:将数据缓存在服务器上,积攒到一定条数后批处理发送到数据库,在插入时考虑并发和索引对插入效率的影响. 测试结果:      ...

  4. solr分词一:mmseg4j

    刚接触Lucene2.x和Solr2.x的时候,谈到中文分词,会让我立即想到用庖丁中文分词,庖丁中文分词因巨大的中文词库以及支持不限制个数的用户自定义词库,而且是纯文本格式,一行一词,使用后台线程检测 ...

  5. 一.Jenkins的windows安装

    1,打开jinkens官网: https://jenkins.io/ ,点击 Download 进入下载界面 2,选择 Long-term Support 版本(推荐选择长期支持版本)->Win ...

  6. aspnetPage分页控件

    项目里面有一个分页,刚好知道了aspnetPage分页控件,现在就把实现步骤和代码贴出来分享一下,如有错误欢迎指正. http://www.webdiyer.com  该控件原网址.里面文档 1.首先 ...

  7. FasterRunner在Centos7.6服务器部署

    前言: 测试工作,就是要保障软件产品质量,如何保障软件产品质量,是一个博大精深的问题.功能测试,性能测试,接口测试,安全测试等.而在现实的项目过程中,软件版本的快速迭代,给测试的时间会越来越少.特别是 ...

  8. java学习笔记—HTTP协议(10)

    客户端浏览器和服务器Tomcat要进行基本的请求和响应的处理. 其实浏览器和服务器通信的数据的格式已经使用协议进行固定好了,只要双方发送固定格式的数据,那么就可以完成基本的通信. 如果开发者需要查看这 ...

  9. 【OCP|052】OCP最新题库解析系列-3

    3.Which structure can span multiple data files?❑ A) a permanent tablespace❑ B) a bigfile tablespace❑ ...

  10. web worker的用法及应用场景(转)

    首先简单介绍一下什么是web worker.我们都知道在浏览器中javascript的执行是单线程的,页面上的javascript在执行时会阻塞浏览器的响应,这非常影响用户体验,所以ajax应运而生了 ...