js设计模式之单例模式

单例模式的定义是: 保证一个类仅有一个实例,并且提供它的一个全局访问点。
一个简单的实现方式

var Singleton = function(name) {
      this.name = name;
}
Singleton.prototype.getName = function() {
      return this.name;
}
Singleton.getInstance = (function(name){
      var instance = null;
      return function(name) {
              if (!instance) {
                    instance = new Singleton(name);
              }
              return instance;
      }
})();

var instance1 = Singleton.getInstance('Hyy');
instance1.getName();  // Hyy

var instance2 = Singleton.getInstance('Tom');  // 还是拿到了先前的实例
instance2.getName();  // Hyy
instance1 === instance2;    // true

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容