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框架组件id获取
    Proxy 与 Object.defineProperty 优劣对比
    vue 父组件监听子组件生命周期
    Vue 的父组件和子组件生命周期钩子函数执行顺序
    k8s 集群部署--学习
    Linux命令:ipcs/ipcrm命令
    Python模块
    XAMPP+TestLink
    bug管理工具
    批量管理工具:pssh/ansible
  • 原文地址:https://www.cnblogs.com/junwu/p/4744393.html
Copyright © 2011-2022 走看看