javascript 设计模式 读书笔记 封装和信息隐藏
2013-12-19 17:28
776 查看
<script type="text/javascript"> /*================================== 对象封装 =============================== /*《javascript 设计模式》 读书笔记 第三章 “封装和信息隐藏” */ /* 涉及概念:私有属性、方法; 特权属性、方法; 静态属性、方法;*/ /*=======================方式一:门户大开型 start=================*/ var Person = function () { this.name; } Book.prototype = { getName:function(){ return this.name; } } /*=======================方式一:门户大开型 end=================*/ /*=======================方式二:用命名规范私有成员 start=================*/ var Person = function () { this.name = "name"; } Book.prototype = { getAge:function(){ return this._age;//_线表示私有属性 }, setAge:function(age){ this._age = age; } } /*=======================方式二:用命名规范私有成员 end=================*/ /*=======================方式三:闭包 私有属性 start=================*/ var Person = function () { this.name = "name"; var age = 18; //private method function run(){ } //privileged method this.getAge = function (){ return age; } } Book.prototype = { //prototype 方法通过privileged method访问私有属性 reportAge:function(){ this.getAge(); } } /*=======================方式三:闭包 私有属性 end=================*/ /*======================= 一个常用完整类的封装 start=================*/ var Person = (function(){ //private static properties var NEW_NUM = 0; //private static method function getNEW_NUM (){ return NEW_NUM; } //construct method return function(){ //public properties this.name = "name"; //private properties var age = 18; //private method function run(){ } //public_privilege method this.getAge = function(){ return age; } } }); Person.prototype = { //public_public method reportAge:function(){ this.getAge();//public_privilege method } } //public static properties Person.SKIN = "yellow" //public static method Person.speakLanguage = function(){ } /*=======================一个常用完整类的封装 end=================*/
<script type="text/javascript"> //一个常用的私有成员封装 var Person = (function(){ var privateMember = "private"; function privateMethod (){ return privateMember; } return { publicMethod:function(){ privateMethod(); } } })(); </script>
相关文章推荐
- 读书笔记之 - javascript 设计模式 - 接口、封装和链式调用
- 读书笔记之 - javascript 设计模式 - 适配器模式
- 读书笔记之 - javascript 设计模式 - 享元模式
- JavaScript 封装设计模式介绍
- 《Javascript 设计模式》-读书笔记
- Javascript 设计模式学习笔记(1) - 封装
- 读书笔记之 - javascript 设计模式 - 装饰者模式
- JavaScript设计模式之一封装
- 学习JavaScript设计模式(封装)
- 读书笔记之 - javascript 设计模式 - 命令模式
- JavaScript设计模式之一封装
- JavaScript 封装设计模式介绍
- 读书笔记之 - javascript 设计模式 - 责任链模式
- JS设计模式——3.封装与信息隐藏
- 读书笔记之 - javascript 设计模式 - 代理模式
- 读书笔记之 - javascript 设计模式 - 门面模式
- Javascript笔记之 设计模式读书笔记
- 读书笔记之 - javascript 设计模式 - 观察者模式
- 深入理解JavaScript系列(42):设计模式之原型模式
- javascript设计模式-module(模块)模式