JS实现单例模式

单例模式比较简单,下面直接给出代码实现

function Singleton(){
    this.instance = null;
}
//定义一个静态方法
Singleton.getInstance = function(){
    if(!this.instance){
        this.instance = new Singleton()
    }
    return this.instance
}

var a = Singleton.getInstance()
var b = Singleton.getInstance()

console.log(a === b)

知识点:js类方法

在js中,函数是第一等公民,你可以把函数当成对象使用。当给函数添加一个方法时,比如上面的Singleton.getInstance=function(){},就相当于给函数添加了一个属性

function Singleton(){
   this.instance = null;
   this.getInstance = function(){//可以访问私有变量
   }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 摘要:设计模式之一:单例模式目录介绍1.单例模式介绍2.单例模式定义3.单例模式使用场景4.单例模式的实现方式 4...
    肆虐的悲傷阅读 489评论 0 2
  • 相信大家都知道设计模式,听的最多的也应该是单例设计模式,这种模式也是在开发中用的最多的设计模式,可能有很多人会写几...
    之后_90阅读 430评论 0 0
  • 一.什么是单例模式 单例模式的定义:确保一个类只有一个实例,并提供一个访问他的全局访问点。单例模式是几个设计模式中...
    Geeks_Liu阅读 2,259评论 0 10
  • 工厂模式 单体模式 模块模式 代理模式 职责链模式 命令模式 模板方法模式 策略模式 发布-订阅模式 中介者模式 ...
    HelloJames阅读 1,030评论 0 6
  • 单元素的枚举类型经常成为实现 Singleton 的最佳方法 。 什么是单例?就一条基本原则,单例对象的类只会被初...
    闲庭阅读 596评论 0 7