(JS)单例模式
单例模式即只创建一个实例,如果多次调用,则返回第一次创建的实例
在JS中没有私有变量和私有方法,所以可以使用闭包来代替
class singleObject {
login() {
console.log("login...");
}
}
singleObject.getInstance = (function() {
let instance;
return function() {
if(!instance) {
instance = new singleObject();
}
return instance;
}
})();
let obj = singleObject.getInstance();
obj.login()
let obj2 = singleObject.getInstance();
obj2.login()
console.log(obj === obj2) // true