一、了解单例模式
单例模式的定义:保证一个类仅有一个实例,并提供一个访问他的全局访问点
单例模式的核心:是确保只有一个实例,并提供全局访问
二、javascript中的单例模式
在js中,我们经常会把全局变量当做单例模式来使用,例如:
var a={};
为什么a可以当做全局变量来使用呢,因为其满足以下两个条件:
1、对象a独一无二
2、a定义在全局作用域下,提供了全局访问
注:但是在js中建议使用命名空间,来减少全局变量的数量
三、惰性单例
惰性单例:在需要的时候才创建的对象实例
用途:在页面中有两个按钮,点击的时候需要显示响应弹窗并加载相应的css文件
注:有些开发人员习惯在页面加载时就写进去,然后设置隐藏状态,这样就会浪费DOM节点
下面是实现代码:
1、主页面
单例模式
创建唯一的窗口
2、p1.css
/**
* Description:
* Created by wxy on 2018/2/13 11:02
*/
#p2{
width: 500px;
height: 300px;
background: #ffdd00;
color: #fff;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
#closep2{
cursor: pointer;
margin-right: 5px;
margin-top: 5px;
float: right;
border: 1px solid #fff;
}3、p2.css
/**
* Description: style of p1
* Created by wxy on 2018/2/13 11:01
*/
#p1{
width: 500px;
height: 300px;
background: #0b0a0a;
color: #fff;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
#closep1{
cursor: pointer;
margin-right: 5px;
margin-top: 5px;
float: right;
border: 1px solid #fff;
}相关推荐:









