什么是单例设计模式

1、保障一个类只能创立一个实例,并且提供拜访他的全局拜访点
例如:登录按钮,点击创立一次登录浮框,再点击不会创立,会返回方才创立的浮框。常见的利用场景:线程池、全局缓存、浏览器window对象

通用的惰性单例具备以下特点

  1. 在须要的时候才创立
  2. 把治理单例和创建对象分为两个办法来实现
  3. 恪守繁多责任准则

通用的惰性单例案例

  1. 封装一个通用的治理单例的办法,最初返回一个函数,用于惰性调用(这一个块是不变的,便于复用)

     var getSingle = function(fn) {               var result               return function() {                   return result || (result = fn.apply(this, arguments))               }           }
  2. 创建对象的办法(这个跟据具体情况创立)

     var createDiv = function() {               let div = document.createElement("div");               div.style.display = "none";               div.innerText = "输出明码登录"               document.body.appendChild(div);               return div           }
  3. 应用单例

    var createSingleLayer = getSingle(createDiv);
  4. 调用单例办法

    document.getElementById("btn").onclick = function() {           let div = createSingleLayer();           div.style.display = "block";       }