微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

js设计模式——单例模式

单例模式就是通过一个变量标识是否已经创建过对象,不在重复创建

通过代理类处理单例模式

eton = (function(){//管理单利模式的逻辑
    var instance;
    return function(html){
        if(!instance){
        instance =  new CreateDiv(html)
        }
        return instance;
    }
})()

var a = new ProxySingleton("seven1");
var b = new ProxySingleton("seven2");
alert(a===b)//true

存储为全局变量

  1. 命名空间污染

  2. 利用闭包封闭为私有变量(_)

惰性单例模式

一个变量标识,返回一个函数,只有在调用的时候才会去判断。


    
display = "none";
            document.body.appendChild(div);
            return div; 
        }
        var getGingleElement = getGingle(func);//返回一个函数
        document.getElementById("clickme").onclick = function(){
            var adiv = getGingleElement("hello world");//真正调用时
            adiv.style.display = "block";
        }
        document.getElementById("again").onclick = function(){
            var adiv = getGingleElement("goodbye world");
            adiv.style.display = "block";
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐