JSFiddle - React, Tailwind, and code Playground

by b_long

HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

JavaScript

Ext.ns("foo.bar.baz");
"use strict";

Ext.onReady(function () {
    (function () {
        foo.bar.baz.ASingletonClass = (function () {
            function ASingletonClass() {
                //do stuff
                var x = "foo";
                this.aMethod = function () {
                    console.log("called aMethod - x " + x);
                }
            }
            var instance;
            return {
                getInstance: function () {
                    if (instance == null) {
                        instance = new ASingletonClass();
                        // Hide the constructor so the returned objected can't be new'd...
                        instance.constructor = null;
                    }
                    return instance;
                }
            };
        })();
    }());

    (function (global) {
        "use strict";

        foo.bar.baz.MySingletonClass = function () {

            if (foo.bar.baz.MySingletonClass.prototype._singletonInstance) {
                return foo.bar.baz.MySingletonClass.prototype._singletonInstance;
            }
            foo.bar.baz.MySingletonClass.prototype._singletonInstance = this;

            this.publicFoo = function () {
                console.log("Called foo");
            };
            this.otherFoo = function () {
                console.log("Called otherFoo");
            };
        };

        foo.bar.baz.MySingletonClass.getInstance = function () {
            var singletonClass = new foo.bar.baz.MySingletonClass();
            return singletonClass;
        };

    }(window));
    var inst1 = new foo.bar.baz.MySingletonClass(),
        inst2 = foo.bar.baz.MySingletonClass.getInstance(),
        inst3 = new foo.bar.baz.MySingletonClass(),
        inst4 = foo.bar.baz.MySingletonClass.getInstance();

    inst3.publicFoo();

    function notCool() {
        console.error("Something isn't acting like a Singleton!");
    }
    inst1 === inst2 ? console.log("sweet 1") :...