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 }
複製代碼
相關文章
相關標籤/搜索