Facade
by Ivan Gerasimenko
HTML
<div id="logger"></div>
JavaScript
var module = (function(params) {
var _private = {
i: params.i,
startProc: function() {
return ("starting process...<br />");
},
incI: function() {
_private.i++;
return "";
},
printI: function() {
return ("i = " + _private.i + "<br />");
}
}
return {
facade: function() {
return (
_private.startProc() +
_private.printI() +
_private.incI() +
_private.printI() +
_private.incI() +
_private.printI());
}
}
})({i: 13});
/*
(function(params) {
var smt = params.name1;
...
})({name1: val1, ...})
// immediately calling an anonymus function with a specific parameter
*/
document.getElementById('logger').innerHTML = module.facade();