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
相关推荐
captainOO73 分钟前
CSS Pixels vs Physical Pixels
前端·css
VisuperviReborn10 分钟前
打造自己的前端监控---前端性能监控
前端·javascript·架构
编程小生13 分钟前
区块链基础-BTC
前端
x吴文龙17 分钟前
不再踩坑,在Vue3+vite安装UNOCSS
前端·vue.js
Java&Develop22 分钟前
用html写一个类似于postman可以发送请求
前端·html·postman
这个昵称也不能用吗?23 分钟前
react性能优化
javascript·react.js·性能优化
拾光拾趣录27 分钟前
让 Vue 动起来!用 Motion for Vue 打造丝滑交互的实战指南
前端·vue.js
尼丝30 分钟前
Token是如何保证安全不被篡改
前端·后端
一枚前端小能手33 分钟前
JavaScript数组操作的5个高效技巧
前端·javascript
小酒星小杜33 分钟前
我和女神有个约会之差点因为二维码太丑搞砸了🔥
前端·javascript·算法