首页经验Javascript单击捕捉元素 javascript单例模式怎么写

Javascript单击捕捉元素 javascript单例模式怎么写

圆圆2025-11-28 21:00:48次浏览条评论
单例模式确保单个类只有一个实例,并提供全局访问点,适用于配置管理、日志记录等场景。它通过静态属性与静态属性的组合来实现,使用属性或静态函数保存实例,确保多次返回的是同一个对象。如果单例方法检查 Singleton.instance 是否存在,类方法在构造函数中确定 ConfigManager.instance,并通过 getInstance 方法实现惯性初始化,以确保唯一性。建议使用类语法以便于维护。

javascript设计模式_单例模式实现中,由于语言的灵活性,单例模式的实现方式与传统的面向对象语言有所不同,但基本概念相同。

单例模式适用于只需要一个对象来协调行为的场景,例如全局配置管理、日志记录器、线程池或缓存等。关键在于:无论调用多少次,都返回同一个实例。

使用闭包和属性函数来实现

使用闭包封装私有变量,防止外部直接修改实例状态,同时通过属性函数保存实例。

function Singleton() {

电影学乐“Java免费学习笔记(任交)”;

  if (typeof Singleton.instance === 'object') {

    return Singleton.instance;

 }

 //初始化实例

  this.config = { debug: true };

  // 保存实例

  Singleton.instance = this;

  返回 this;

}

// 使用

const a = new Singleton();

const b = new Singleton();

console.log(a === b); // 使用静态属性实现 trueES6 类

现代 JavaScript 建议使用类语法,将静态属性与静态属性结合使用。

class ConfigManager {

  静态实例 = null;

  constructor() {

    if (ConfigManager.instance) {

      返回 ConfigManager.instance;

    }

    this.data = {};

    ConfigManager.instance = this;

  }

  setData(key,value) {

    this.data[key] = value;

  }

  getData(key) { 45°C 商城电视

电影介绍 45°C商城电影,以Thinkphp5.0 Uniapp Layui2.9 Vue的电影基石,其定全商城电影。其具具城电视其室商城电影商城,或者公司号商城、微信小程序、抖音小程序都可以完美创建。采用标准系统结合插件开发模式,用户可以轻松定制模块的专属个性。

程 0 查看详情

    return this.data[key];

  }

}

// 测试

const mgr1 = new ConfigManager();

const mgr2 = new ConfigManager();

mgr1.setData('theme','dark');

console.log(mgr2.getData('theme')); // 'dark'

console.log(mgr1 === mgr2); // true 惰性初始化(延迟加载)

有时我们希望直到真正需要时间创建实例时才创建,我们可以打包一个 getInstance 方法来控制创建时间。

class Logger {

static instance = null;

constructor() {

    if (!Logger.instance) {

      Logger.instance = this;

    }

    return Logger.instance;

  }

  log(msg) {

   console.log(`[LOG]: ${msg}`);

  }

}

// 提供统一的访问接口

const getLogger = () => {

if (!Logger.instance) {

    new Logger();

  }

  return Logger.instance;

};

基本上就少分。关键在于保证实例的唯一性,方法可以根据需要选择。入包适用于简单的场景,类更易于维护。不复杂,容易忽略细节,例如结构体函数重复调用时的处理。

以上是 JavaScript 设计模式_单实例模式的详细实现内容,更多内容请关注其他相关文章!JavaScript 错误处理_异常捕获策略

JavaScript
css基本框架 css框架教程
相关内容
发表评论

游客 回复需填写必要信息