前端JavaScript设计模式-单例模式:
在一个类中,能够返回以一个对象的引用和一个获得当前实例的getInstance()方法,getInstance()作为这个类的静态方法也称构造函数,通过该静态方法来得到当前类的唯一实例
// 定义class类
class SingleObject{
login(loginMsg){
console.log(loginMsg)
}
}
// 给当前类添加自执行getInstance静态方法函数
SingleObject.getInstance = (() => {
let instance
return function(){
if(!instance){
instance = new SingleObject()
}
return instance
}
})()
let obj1 = SingleObject.getInstance()
obj1.login('obj1--->login')
let obj2 = SingleObject.getInstance()
obj2.login('obj2--->login')
console.log(obj1 == obj2)
// 返回true,两个实例指向的是同一个类中的getInstance方法
// 通过getInstance方法创建的实例,获取那个类中的构造函数
单例模式的典型例子就是闭包,在23中设计模式中,单例模式还是较为简单
本文暂时没有评论,来添加一个吧(●'◡'●)