声明:这个系列为阅读《JavaScript设计模式与开发实践》 —-曾探@著一书的读书笔记
1.单例模式的特点和定义
保证一个类仅有一个实例,并且提供一个访问它的全局访问点。
2.传统面向对象语言的单例模式
2.1传统语言描述的单例模式JavaScript实现
var Singleton = function(name) {
this.name = name;
this.instance = null;
};
Singleton.prototype.getName = function() {
alert(this.name);
};
Singleton.getInstance = function(name) {
if (!this.instance) {
this.instance = new Singleton(name);
}
return this.instance;
};
var a = Singleton.getInstance('seven1');
var b = Singleton.getInstance('seven2');
或者使用闭包的形式创建单例模式,同时符合惰性单例的特性
var Singleton = function(name) {
this.name = name;
};
Singleton.prototype.getName = function() {
alert(this.name);
};
//利用闭包的特性创建单例,同时符合惰性单例的特性