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