zoukankan      html  css  js  c++  java
  • 学习javascript设计模式之单例模式

    1、单例模式的核心是确保只有一个实例,并提供全局访问。

    2、惰性单例 指的是在需要的时候才创建对象实例。

    如在页面中创建唯一div 普通做法

    var createDiv = (function(){
        var div;
        return function(){
            if(!div){
                div = document.createElement("div");
                div.style.width="100px";
                div.innerHTML = "fdsafdsafdsafdsa";
                div.style.display = 'none';
                document.body.appendChild(div);
                return div;
            }
            return div;
        }
    })();

    document.getElementById("btn").onclick = function(){
        var loginlayer = createDiv();
        loginlayer.style.display = 'block';
    }

    应用通用惰性单例

    var getSingle = function(fn){
        var result;
        return function(){
            return result || (result = fn.apply(this,arguments));
        }
    }

    var createDiv = function(){
        var div = document.createElement("div");
        div.style.width="100px";
        div.innerHTML = "fdsafdsafdsafdsa";
        document.body.appendChild(div);
        return div;
    }

    var createSingleDiv = getSingle(createDiv);
    document.getElementById("btn").onclick = function(){
        var loginlayer = createSingleDiv();
        loginlayer.style.display = 'block';
    }

  • 相关阅读:
    vue中mixins(混入)的使用
    js实现淘宝轮播图放大镜效果
    vue中的provide和inject
    vue自定义过滤器
    vue自定义指令
    HTTP和HTTPS详解
    可靠的TCP连接为何是三次握手和四次挥手
    跟着动画来学习TCP三次握手和四次挥手
    简单了解TCP/IP与HTTP
    网络协议
  • 原文地址:https://www.cnblogs.com/junwu/p/4744393.html
Copyright © 2011-2022 走看看