JS设计模式 - 单例模式

单例模式的定义是: 保证一个类有且仅有一个实例,并提供一个访问它的全局访问点。markdown

思路: 用闭包返回一个实例 对这个实例作条件判断 有就返回 没有就初始化 这样咱们在每次 new 的时候就只能获得一个实例闭包

例如 全局的蒙层 全局的变量都适合用单例模式来建立 由于咱们谁也不但愿存在两个蒙层app

const Singleton = (function () {
  let instance = null;

  return function () {
    if (instance) {
      return instance;
    }
    // 你的业务逻辑
    // 例如
    this.name = 'nanshu';
    this.age = 18;

    return (instance = this);
  };
})();

// test
const a = new Singleton();
const b = new Singleton();

console.log(a === b); // true
console.log(a); // { name: 'nanshu', age: 18 }
复制代码
相关文章
相关标签/搜索