《JavaScript设计模式》Chapter5.单例模式

208 阅读1分钟

5.1 定义

单例模式singleton 是一个用来划分命名空间的并将一批属性和方法组织在一起的对象,如果它能被实例化,只能被实例化一次。

作用
1.在js中,单例模式可用于创建命名空间,清除全局变量。

2.在分支branching技术中,用来封装浏览器之间的差异(版本兼容)。

5.1 基本结构

最简单的一种结构是: 一个对象字面量。或者说:对象字面量只是创建单体的方法之一

5.2 划分命名空间

单体对象由 1.包含方法和属性的对象obj 2.用于访问它obj的变量 组成。

5.4 拥有私有成员的单体

5.4.1 使用下划线表示法 (这只是一种约定)

内容:略

5.4.2 使用闭包

立即运行函数创造闭包,包裹私有变量和返回公有变量。 又称模块模式。

5.5 惰性加载 lazy loading

// 代码框架
var singletonName= (function(){
	var instance;
	...
	function contructor(){
		...
	}	
	return {
		getInstance:function(){
			if(instance){
				instance=constrcutor();
			}
			return instance;
		}
	}
})();

singletonName.getInstance.methodName();//调用方法的写法

5.6 分支

内容:略

5.7 使用分支技术创建XHR对象

内容:略

5.8 使用场合

内容:略

5.9 单例模式之利

内容:略

5.10 单例模式之利

内容:略