JS-单例设计模式

设计模式:针对特定问题提出的简洁优化的解决方案

  • 构造函数或类仅仅只能实例化一次,得到一个实例对象
  • 比如:工具类
    • 在项目中使用工具类实例对象时,每一个实例对象的属性方法与功能作用都是一样的
    • 那么在项目中如果每次使用都需要重新实例化一个工具类对象,这样会造成内存浪费
      • 解决方案:工具类仅仅只实例化一次,得到一个实例对象,后续的每次使用则都直接使用该实例对象
        • 此时就可以使用单例设计模式来书写工具类
js 复制代码
// 利用闭包函数封装
let singleton = (function() {
    // 工具类
    class Utils { }
    let tool;
    return function () {
        // 每次使用都判断tool中是否已存在实例对象
        if (!tool) tool = new Utils();
        return tool;
    }
})();

let t1 = singleton();
let t2 = singleton();
console.log(t1 === t2); // true
相关推荐
沉登c4 分钟前
Javascript客户端时间与服务器时间
服务器·javascript
持久的棒棒君7 分钟前
ElementUI 2.x 输入框回车后在调用接口进行远程搜索功能
前端·javascript·elementui
2401_8572979118 分钟前
秋招内推2025-招联金融
java·前端·算法·金融·求职招聘
undefined&&懒洋洋1 小时前
Web和UE5像素流送、通信教程
前端·ue5
大前端爱好者3 小时前
React 19 新特性详解
前端
liang89993 小时前
设计模式之装饰器模式(Decorator)
设计模式·装饰器模式
小程xy3 小时前
react 知识点汇总(非常全面)
前端·javascript·react.js
CocoaAndYy3 小时前
设计模式-适配器模式
设计模式·适配器模式
刷帅耍帅3 小时前
设计模式-适配器模式
设计模式·适配器模式
随云6323 小时前
WebGL编程指南之着色器语言GLSL ES(入门GLSL ES这篇就够了)
前端·webgl