JS实现单例模式

2020-03-14  本文已影响0人  凯凯frank

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

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(){//可以访问私有变量
   }
}
上一篇 下一篇

猜你喜欢

热点阅读