<!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. java性能分析工具 jconsole.exe

    通过 Java visualMv结合 jconsole.exe   工具即可查看如图所示(Jconsole在JDK文件夹内,非JRE文件夹) 在Java Visualvm工具里面安装JTA插件,分析线 ...

  2. 前端与HTTP

    本文整理在,我的github 上.欢迎Star. 各版本的http 发展 在HTTP建立之初,主要是为了传输超文本标记语言(HTML)文档.随着时代的发展,也进行了若干次演进.下图是各个版本发布的时间 ...

  3. JObject使用

    1.首先需要引用Json.NET\Newtonsoft.Json.dll程序集. 2.Page页 function saveUser() { var param = { id: , name: '张三 ...

  4. xshell显示隐藏窗口页签

    有时候不知道操作说了什么红框中的页签会消失,可以ctrl+shift+t 控制显示隐藏

  5. Asp.NetCore安全验证之JWT

    本文只是介绍了下基于AspNetCore自带的System.IdentityModel.Tokens.Jwt.dll工具在项目中Token的应用. 我这里谈到的很浅显就两点: 一,超时时间 二,数据的 ...

  6. 将网页发布到远程windows server

    1.在vs下利用文件系统发布asp.net文件 2.将生成的所有文件打包成ZIP 3.将zip文件复制并解压到远程windows server的自己创建的文件夹下 4.在windows server上 ...

  7. c语言第一次作业--顺序、分支结构

    1.1思维导图 1.2.1本周学习体会以及代码量学习体会 1.2.2学习体会     因为在暑假时候没有对c语言进行学习,没太关注一些学习资料,一些教学视频也没看,感觉对c语言是陌生的,刚开课的时候自 ...

  8. Codeforces Gym 100513F F. Ilya Muromets 水题

    F. Ilya Muromets Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513/probl ...

  9. mysql--对行(表中数据)的增删改查

    一.插入数据(增加)insert 1.插入数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); #指定字段来插入数据,插 ...

  10. case when then end 用法

    select type,numbers,case monthst when 1 then '一月'when 2 then '二月'when 3 then '三月'else '其他月'end month ...