advancedSingleton = (function(){
var privateVar = "something private";
function privateFunction() {
return "this is printed from a private function";
}
return {
publicFunction: function() {
return privateFunction();
},
publicVar: "This is public",
}
})()
/* this is undefined */
console.log(advancedSingleton.privateVar);
/* and this will rise an exception */
//console.log(advancedSingleton.privateFunction());
console.log(advancedSingleton.publicVar);
console.log(advancedSingleton.publicFunction());