单例模式

xiaoxiao2021-02-28  23

传统单例模式

  保证一个类仅有一个实例,并提供一个访问它的全局访问点。

实现单例核心思想

        用一个变量来标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象,接下来我们用JavaScript来强行实现这个思路。

var Singleton = function(name) { this.name = name; this.instance = null; } Singleton.prototype.getName = function() { alert(this.name); }; Singleton.getInstance = function(name) { if (!this.instance) { this.instance = newSingleton(name); } return this.instance; }; var a = Singleton.getInstance('seven1'); var b = Singleton.getInstance('seven2');

惰性单例指的是在需要的时候才创建对象的实例。惰性单例是单例模式的重点。

var createLoginLayer=(function(){ var div; return function(){ if(!div){ div=document.createElement('div'); } return div; } })(); document.getElementById('loginBtn').οnclick=function(){ varloginLayer=createLoginLayer(); loginLayer.style.display='block'; };

这里的对惰性单例的实现主要是只有单击了网页上的登录按钮,才会去创建,登录框的dom节点,并且只是创建一次。

转载: https://blog.csdn.net/yisuowushinian/article/details/52003127
转载请注明原文地址: https://www.6miu.com/read-2649955.html

最新回复(0)