單例模式的概念是:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點
也就是說創建多個對象,每個變量實際引用的其實都是一個對象,使用單例模式,可以節約內存提高程序的性能。
// 常用單例模式寫法
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)