专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

高级前端必会设计模式之单例模式

ins518 2024-09-11 09:27:15 技术文章 16 ℃ 0 评论

前端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中设计模式中,单例模式还是较为简单

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表