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';
    }

  • 相关阅读:
    Mysql主外键
    行列转换
    简单的增删改查
    day22 面向对象基础
    day21 xml模块 ATM+购物车
    python学习 day19 configparser模块 os模块 subprocess模块
    day18 logging模块 sys shelve
    day17 正则表达式 re模块和hashlib模块
    day16 包的使用 json time 常用模块
    day15模块内容
  • 原文地址:https://www.cnblogs.com/junwu/p/4744393.html
Copyright © 2011-2022 走看看