Module pattern
by bhupendra negi
HTML
<p>
Modules using Closure
</p>
JavaScript
// classical
var module1 = (function() {
var obj = {
name: "Ram",
city: "ggn"
}
return {
getName: function() {
return obj.name
}
}
})();
console.log(module1.getName());
// revealing module pattern
var module2 = (function() {
var obj = {
name: "Shyam",
city: "ggn"
}
var publicApi = {
getName: function() {
return obj.name
}
}
return publicApi;
})();
console.log(module2.getName());
// AMD Modules
function define(fName, fn) {
// var obj = {};
// obj[fName] = fn();
window[fName] = fn();
}
define("module3", function() {
var obj = {
name: "Radhe Radhe",
city: "ggn"
}
var publicApi = {
getName: function() {
return obj.name
}
}
return publicApi;
});
console.log(module3.getName());