js singleton

var singleton = (function(){
    var instance;

    return function () {
        if (instance) return instance;
        instance = this;
        return instance;
    }
}());

var obj = new singleton();
var obj2 = new singleton();
console.log(obj2 === obj);  // true
var printer = (function() {
    var printerInstance;

    function create() {
        function print() {}
        function turnOn(){}

        return {
            print: print,
            turnOn: turnOn
        };
    }

    function Singleton() {
        if (!printerInstance) {
            printerInstance = create();
        }

        return printerInstance;
    }

    return {
        getInstance: Singleton();
    };

}());
原文地址:https://www.cnblogs.com/ax-null/p/6789316.html