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