zoukankan      html  css  js  c++  java
  • JS设计模式之---单例模式

    • 单例模式是保证一个类仅有一个实例,并提供一个访问它的全局访问点。
    • 单例模式在现在面向对象的语言Java,C#,C++等等中也有很多用到,其实它在Javascript中使用同样非常广泛。
    var CreateDiv = function (html) {
                this.html = html;
                this.init();
            };
            CreateDiv.prototype.init = function () {
                var div = document.createElement('div');
                div.innerHTML = this.html;
                document.body.appendChild(div);
            };
            var ProxySingletonCreateDiv = (function () {
                var instance;
                return function (html) {
                    if (!instance) {
                        instance = new CreateDiv(html);
                    }
                    return instance;
                };
            })();
            var a = new ProxySingletonCreateDiv('test1');
            var b = new ProxySingletonCreateDiv('test2');
            console.log(a===b);//true  页面只会创建 test1
    •  我们继续抽离代码,使之更为通用
     var getSingle = function (fn) {
                var result;
                return function () {
                    return result ||(result=fn.apply(this, arguments));
                }
            };
    • 我们把生成单例的逻辑抽离出来,将函数作为一个变量参数进行传入,这样以后只需要新建对应的函数就好,这段代码就完全通用了,这个跟Jquery 中one 函数类似。
  • 相关阅读:
    初识 Umbraco CQ
    程序员的利器SourceInsight CQ
    关于Hg的文件过滤 CQ
    蓝桥杯 基本内容
    leedswriting符号
    tiny mission 2021 11 15
    拓扑排序+二分答案+建图
    mission 11.24
    高数积分求面积
    高数积分求弧长
  • 原文地址:https://www.cnblogs.com/meiyh/p/6433973.html
Copyright © 2011-2022 走看看