單例模式的定義是: 保證一個類有且僅有一個實例,並提供一個訪問它的全局訪問點。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 }
複製代碼