JavaScript设计模式-2高级类.
<!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高级类.的更多相关文章
- javascript设计模式-掺元类
有一种重用代码的方法不需要用到严格的继承.如果想把一个函数用到多个类中,可以通过扩充的方式让这些类共享该函数.其实际做法大大体为:先创建一个包含各种通用方法的类,然后再用它扩充其他的类.这种方式就叫做 ...
- 《JavaScript设计模式 张》整理
最近在研读另外一本关于设计模式的书<JavaScript设计模式>,这本书中描述了更多的设计模式. 一.创建型设计模式 包括简单工厂.工厂方法.抽象工厂.建造者.原型和单例模式. 1)简单 ...
- JavaScript的学习--JavaScript设计模式的总结
这篇博客只是自己对设计模式的理解的备忘~ 看完了<JavaScript设计模式>这本书,一直没有写博客记录一下,最近抽出时间来重读了一下,就顺便记录一下~ 如果你只是想粗略了解一下Java ...
- JavaScript设计模式-单例模式、模块模式(转载 学习中。。。。)
(转载地址:http://technicolor.iteye.com/blog/1409656) 之前在<JavaScript小特性-面向对象>里面介绍过JavaScript面向对象的特性 ...
- 转载,javascript 设计模式
了解JavaScript设计模式我们需要知道的一些必要知识点:(内容相对基础,高手请跳过) 闭包:关于闭包这个月在园子里有几篇不错的分享了,在这我也从最实际的地方出发,说说我的理解. 1.闭包最常用的 ...
- 【JavaScript设计模式系列---开篇预览】
转:http://www.cnblogs.com/Darren_code/archive/2011/08/31/JavascripDesignPatterns.html 2011-08-31 23:5 ...
- JavaScript设计模式_01_单例模式
最近项目不太忙,难得有时间看看书,平时挺喜欢js这门语言.也看过很多高级教程,觉得自己还是比较热衷于js的设计模式.这一次重温一下<JavaScript设计模式与开发实践>,开篇为单例模式 ...
- 再起航,我的学习笔记之JavaScript设计模式11(外观模式)
经过一段时间的学习与分享,我们对创建型设计模式已经有了一定的认识,未来的一段时间里我们将展开新的篇章,开始迈入结构性设计模式的学习. 结构性设计模式与创建型设计模式不同,结构性设计模式更偏向于关注如何 ...
- Javascript设计模式(1)
本文是学习了<JavaScript设计模式>(谢廷晟 译)做的学习笔记 一.JavaScript的灵活性 1. 普通 functon function startAnimation() { ...
随机推荐
- Python WebDriver + Firefox 文件下载
firefox可以通过 在地址栏输入:about:config 或about:aupport 来查看或修改配置信息. 这里有两种解决方式, 1.设置自动保存下载 如下图勾选:以后自动采用相同的动作处理 ...
- jsp request 获取路径
这篇教程不错:http://zjutsoft.iteye.com/blog/1084260 自己试验如下: System.out.println("-----------------serv ...
- 个人整理的一些iOS Entitlements
收集了不少Entitlement,当然也肯定有遗漏.有的就是key的字面意思,就不多做解释.不过有的虽然字面意思好理解,不过具体的用处不太清楚,就写的Unknown use.在替换entitlemen ...
- Javascript设计模式理论与实战:适配器模式
有的时候在开发过程中,我们会发现,客户端需要的接口和提供的接口发生不兼容的问题.由于特殊的原因我们无法修改客户端接口.在这种情况下,我们需要适配现有接口和不兼容的类,这就要提到适配器模式.通过适配器, ...
- 详解CSS盒模型
原文地址:http://luopq.com/2015/10/26/CSS-Box-Model/ 本文主要是学习CSS盒模型的笔记,总结了一些基本概念,知识点和细节. 一些基本概念 HTML的大多数元素 ...
- csv文件乱码
问题描述: 生成的csv文件,设置为UTF-8格式,在windows上用EXCEL打开的话会乱码,在linux上用vim或者cat打开查看正常:设置为GBK格式的话,在windows上用EXCEL打开 ...
- linq与数据库之添加
这个是linq的添加显示 代码如下: //添加 private void button2_Click(object sender, EventArgs e) { string strstu = &qu ...
- C语言/C++编程学习:和QT零距离接触的意义
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- 初学Ionic
官网 https://ionicframework.com/ 如连接所示,可跳转到该前端框架的官网,在这里提供了两种方式可供大家学习: Code with the CLI Design with lo ...
- cesium编程入门(九)实体 Entity
cesium编程入门(九)实体 Entity 在cesium编程入门(五)绘制形状提到过添加实体的方法,这一节聊一聊实体相关的一些内容: 先来看 Entity 的各个属性 id 唯一标志,如果没设置, ...