javascript的设计模式有哪些_单例模式如何实现?

admin 百科 10
JavaScript中最推荐的单例实现是模块级单例,利用ES6模块默认导出的天然单例特性,简洁、可靠且符合语言习惯;其次为ES6 Class配合静态工厂方法,避免直接new;闭包方式适用于ES5环境。

javascript的设计模式有哪些_单例模式如何实现?-第1张图片-佛山资讯网

JavaScript 中常用的设计模式有单例、工厂、观察者(发布-订阅)、策略、代理、装饰器、适配器、命令、状态、迭代器等。其中单例模式最常用于管理全局唯一实例,比如配置中心、日志对象、弹窗管理器、状态存储等。

单例模式的核心要点

单例确保一个类只有一个实例,并提供一个全局访问点。关键在于:控制实例创建时机 + 防止重复构造 + 统一返回已有实例。

  • 不能直接用 new 多次生成新对象
  • 首次调用时创建实例,后续调用都返回同一个引用
  • 通常封装在闭包或模块作用域中,避免污染全局

基础版单例实现(ES5风格)

用闭包保存私有实例变量,通过静态方法暴露统一入口:

var Singleton = (function() {
  var instance = null;
  function createInstance() {
    return { data: 'I am the only one' };
  }
  return {
    getInstance: function() {
      if (!instance) {
        instance = createInstance();
      }
      return instance;
    }
  };
})();

// 使用
var a = Singleton.getInstance();
var b = Singleton.getInstance();
console.log(a === b); // true

登录后复制

ES6 Class + 静态属性方式(推荐)

更符合现代写法,清晰易读,也支持延迟初始化:

立即学习“Java免费学习笔记(深入)”;

标签: javascript es6 java js ai 作用域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~