单例模式的概念是:保证一个类仅有一个实例,并提供一个访问它的全局访问点
也就是说创建多个对象,每个变量实际引用的其实都是一个对象,使用单例模式,可以节约内存提高程序的性能。
// 常用单例模式写法
var Singleton = function () {
this.instance = null;
}
Singleton.getInstance = function () {
if (!this.instance) {
this.instance = new Singleton();
}
return this.instance;
}
// 使用闭包方式做单例
var Singleton = function () {}
Singleton.getInstance = (function () {
var instance = null;
return function () {
if (!instance) {
instance = new Singleton();
}
return instance;
}
})()
// 使用方法,创建两个新对象,可以看他们的引用是否相等
var a = Singleton.getInstance();
var b = Singleton.getInstance();
console.log(a == b)