单例模式的理解
定义:1只有一个实例2可以全局的访问
主要解决:一个全局使用的类频繁的创建和销毁
何时使用:当你想控制实例的数目节省系统化资源的时候
如何实现:判断系统是否已经有这个单例如果有则返回没有则创建
单例模式优点:内存中只要一个实例减少了内存的开销尤其是频繁的创建和销毁实例(比如说是首页页面的缓存)
使用场景:1全局的缓存2弹窗
形成单例从代码里面抽取出来核心代码是不是闭包啊?
// 单例的职责
var getSingle = function (fn) {
var result
return function (){
return result || (result = fn.apply(this, arguments))
}
}
//创建登录框的职责
var createLoginLayer = function (){
var div = document.createElement('div') div.innerHTML='我是登录的弹窗
div.style.display = 'none
document. body. appendChild(div)
return div
}
var createSing leLogin = getSingle(createloginLayer)
document.getElementById( 'button').onclick = function (){ var LoginLayer = createSinglelogin()
loginLayer.style.display = 'block'
}
网友评论