JS版设计模式--Singleton

来源:互联网 发布:微信淘客助手群发软件 编辑:程序博客网 时间:2024/05/17 17:40

Design Patterns – Singleton

写在前面

  "Build Better Applications With Coding and Design Patterns"

感受一下JavaScript的设计模式吧。

什么叫Singleton

Singleton(单例),何为单例?一个类有且仅有一个实例。

JS中如何去实现单例

  我们多知道JS中是没有类这个概念,所以你要是过分的纠结单例的定义,并没有任何技术意义,这里我们只是模仿。

构造函数的静态属性

  function User(name) {    if(typeof User.instance === 'object') {      return User.instance;    }    this.name = 'daiqingyun';    //静态属性    User.instance = this;  }  这里要说明的是在函数中查找一个变量的步骤:  1、先看看它是不是在函数中有var的声明  2、函数的形参中是不是有声明  3、是不是和函数名一样  4、上一层作用域重复以上步骤

闭包实现单例

  ----------------    闭包实现单例  ----------------  function User() {    var instance = this;    User = function() {      return instance;    }    User.prototype = this;    instance = new User();    instance.constructor = User;    instance.name = "dai";    return instance;  }
0 0