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();
    };

}());

 

posted @ 2017-04-30 13:24  ax=null  阅读(135)  评论(0编辑  收藏  举报