JavaScript单例模式开发实践

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

在开发实践中,我们可以用惰性单例技术,在合适的时候才创建对象,并且只创建唯一的一个。下面点击按钮弹出一个弹窗为例子,展示惰性单例模式:

  <div id="div1">点击</div>
  <script>
    var createModal = (function() {
      var div;
      return function() {
        if (!div) {
          div = document.createElement('div');
          div.innerHTML = '我是modal';
          div.style.display = 'none';
          document.body.appendChild(div);
        }
        return div;
      }
    })();

    document.getElementById('div1').onclick = function() {
      var modal = createModal();
      modal.style.display = 'block';
    }
  </script>

通过闭包把第一次创建的div元素存在div变量里面,当用户再次去点击按钮的时候,就直接返回缓存的div。这就是一个惰性单例模式,保证了我是modal是唯一,避免了每次都去创建一个div。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容