目录
1、概念
- 1、概念
- 2、适用场景
- 3、代码实现
保证一个类仅有一个实例,并提供一个访问它的全局访问点。实现的方法为先判断实例存在与否,如果存在则直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象。
2、适用场景一个单一对象。比如:弹窗,无论点击多少次,弹窗只应该被创建一次。
3、代码实现class CreateUser { constructor(name) { this.name = name; this.getName(); }; getName() { console.log(this.name); }; }; // 代理实现单例模式 let ProxyMode = (function () { let instance = null; return function (name) { if (!instance) instance = new CreateUser(name); return instance; }; })(); // 测试单体模式的实例 let a = new ProxyMode("aaa"); console.log(a); // CreateUser {name: "aaa"} let b = new ProxyMode("bbb"); console.log(b); // CreateUser {name: "aaa"} // 因为单体模式是只实例化一次, // 所以下面的实例是相等的 console.log(a === b); // true