# 一、单例模式

定义:保证一个类只有一个对象,并提供一个访问他的全局访问点。实现的方法先判断实例存在否,存在直接返回,不存在创建并返回,这就确保了一个类只有一个对象

使用场景:比如弹窗,无论点击多少次,弹窗只应该弹出一次

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
最后更新于: 12/25/2020, 9:20:27 AM