<h1>惰性单例</h1>
<p>惰性单例指的是在需要的时候才创建对象实例</p>
<p>通用的惰性单例示例</p>
<button id="loginBtn">登录</button>
<script>
var createLoginLayer = function(){
var div = document,createElement("div");
div.innerHTML = "我是登录悬浮框";
div.style.display = "none";
document.body.appendChild(div);
return div;
};
var getSingle = function(fn){
var result;
return function(){
return result || (result = fn.apply(this,arguments))
}
}
var createSingleLoginLayer = getSingle(createLoginLayer );
document.getElementById("loginBtn").onclick = function(){
var loginLayer = createSingleLoginLayer ();
loginLayer.style.display = "block";
}
</script>
在这个例子中,我们把创建实例对象的职责和管理单例的职责分别放置在两个方法里,这两个方法可以独立变化而互不影响,实现了单一职责原则的编程思想,当他们连接在一起的时候,就完成了创建唯一实例对象的功能,看起来是一件奇妙的事情。
js通用的惰性单例示例
最新推荐文章于 2024-08-29 23:38:23 发布