单例模式的定义
1)单例模式是一种常用的软件设计模式
2)保证一个类只有一个实例,并提供全局访问
通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案
实现原理----用一个变量标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象;否则创建该类的实例对象,并且将该实例对象用该标志保存
例子:用代理方式创建一个单例模式:给Body添加一个DIV
CreateDiv是一个简单的类,结合ProxySingleton达到单例模式的效果
const CreateDiv = function(html){
this.html = html;
this.init();
}
CreateDiv.prototype.init = function(){
let div = document.createElement('div');
div.innerHTML = this.html;
document.body.appendChild(div);
}
const ProxySingleton = (function(html){
let obj=null;
return function