js单例模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js单例模式相关的知识,希望对你有一定的参考价值。

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

1.要实现一个标准的单例模式并不复杂,无非是用一个变量来标志当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象。

 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=new Singleton(name);

}

return this.instance;

}

var a=Singleton.getInstance(‘sven1‘);

var b=Singleton.getInstance(‘sven2‘);

alert(a===b)  //true

2.创建一个登陆按钮

<button id="loginBtn">登陆</button>

var  createLoginLayer=(function(){

var div;

reuturn function(){

if(!div){

div=document.createElement(‘div‘);

div.innerhtml=‘我是登陆浮窗‘;

div.style.display=‘none‘;

document.body.appendChild(div);

}

  return div;

}

})();

document.getElementById(‘loginBtn‘).onclick=function(){

var loginLayer=createLoginLayer();

loginLayer.style.display=‘block‘;

}

以上是关于js单例模式的主要内容,如果未能解决你的问题,请参考以下文章

用JS来理解设计模式—— 单例模式

JS设计模式1-单例模式

JS设计模式一:单例模式

设计模式——JS中的单例模式应用

js 单例模式笔记

js设计模式-单例模式