js设计模式:单例模式

作用:

保证一个类只有一个实例,并且提供一个全局的访问位置。

可以用来实现全局的一些状态管理或者独一无二的数据

示例:

javascript 复制代码
      class Wjt{
        constructor(name,idNumber,gender){
           this.name = name
           this.idNumber = idNumber
           this.gender = gender
        }
        //可以直接使用Wjt调用的静态方法
        static getInstance(name,idNumber,gender){
            if(!this.instance){
                this.instance = new Wjt(name,idNumber,gender)
            }
            return this.instance
        }
      }
        
        //王惊涛注册户籍
        const wjt1 = Wjt.getInstance('王惊涛','123456789','man')
        //再次注册户籍
        const wjt2 = Wjt.getInstance('新惊涛','987654321','man')
        console.log(wjt1,'wjt1')
        console.log(wjt2,'wjt2')
        console.log(wjt1 === wjt2)  //true 
        //第一次已经注册成功了,instance已经有了固定的值,wjt已经存在于这个世界上了,且是唯一不可变的,所以用单例模式
相关推荐
霍格沃兹测试学院-小舟畅学16 分钟前
我花一周拆解了企业级Skills库的全套设计模式
人工智能·设计模式
kyriewen111 小时前
你的前端滤镜慢得像PPT?用Rust+WebAssembly,一秒处理4K图
开发语言·前端·javascript·设计模式·rust·ecmascript·powerpoint
混迹中的咸鱼1 小时前
C++ 23种设计模式
设计模式·c++23
咖啡八杯2 小时前
GoF设计模式——工厂方法模式
java·后端·设计模式
ximu_polaris13 小时前
设计模式(C++)-行为型模式-中介者模式
c++·设计模式·中介者模式
诙_20 小时前
深入理解C++设计模式
c++·设计模式
AI大法师1 天前
从门头到社媒预热图,快闪项目如何统一视觉输出
大数据·人工智能·设计模式
Pkmer1 天前
类的封装性: 让门面设计模式来打开这扇门
后端·设计模式
Pkmer1 天前
古法编程: 我要的是状态模式,策略模式不要误我大计
后端·设计模式
H Journey1 天前
C++ 多线程安全的单例模式
c++·单例模式