JavaScript设计模式之单例模式

June 15, 2015

801

Singleton(单例)模式限制了类的实例化次数只能一次,以前使用PHP的时候,常用单例模式来处理数据库连接,保证数据库句柄唯一。

Singleton模式,在实例不存在的情况下,可以通过一个方法创建一个类来实现创建类的新实例;如果实例已经存在,它会简单返回该对象的引用。

今天,采用JavaScript来实现单例模式。在JavaScript中,有多种方式可以实现单例模式。

1、使用对象字面值

代码如下:

var obj = {
  name: 'wen'
};

在JavaScript中,对象之间永远不会完全相等,因此,可以认为在使用对象字面量创建对象的时候,就是创建一个单例。

2、重写构造函数

代码如下:

function Singleton() {
  //缓存实例
  var instance;

  //重写构造函数
  Singleton = function() {
    return instance;
  };

  //保留原型
  Singleton.prototype = this;

  //实例
  instance = new Singleton();

  //构造函数指针
  instance.constructor = Singleton;

  return instance;
}

Wen's Blog

文章归档 » 文章标签 » 博主:吴文伟,Web开发爱好者,专注于前端开发,该博客用于记录和分享平时遇到的一些问题以及知识。

订阅

联系方式

链接