单例模式的定义是: 保证一个类有且仅有一个实例,并提供一个访问它的全局访问点。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 }
复制代码