JavaScript 单例设计模式
今天来讲讲单例设计模式,23种设计模式之一。
总的来讲,JS实现单例设计模式比较简单,废话不多说,上代码。
var Singleton = (function () {
var instance;
function createInstance() {
var object = new Object("I am the instance");
return object;
}
return {
getInstance: function () {
if (!instance) {
instance = createInstance();
}
return instance;
}
};
})();
function run() {
var instance1 = Singleton.getInstance();
var instance2 = Singleton.getInstance();
console.log("Same instance? " + (instance1 === instance2));
}
代码解读:Singleton对象采用立即执行的匿名函数生成,该函数返回有getInstance方法的对象。
getInstance方法其实也采用懒加载的设计模式,只生成一次。