You can use the Yahoo module template :
myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within myModule." //"private" method: var myPrivateMethod = function () { console.log("I can be accessed only from within myModule"); } return { myPublicProperty: "I'm accessible as myModule.myPublicProperty." myPublicMethod: function () { console.log("I'm accessible as myModule.myPublicMethod."); //Within myProject, I can access "private" vars and methods: console.log(myPrivateVar); console.log(myPrivateMethod()); } }; }();
You define your private members, where myPrivateVar and myPrivateMethod , and your public members, where myPublicProperty and myPublicMethod defined.
You can simply access public methods and properties as follows:
myModule.myPublicMethod(); // Works myModule.myPublicProperty; // Works myModule.myPrivateMethod(); // Doesn't work - private myModule.myPrivateVar; // Doesn't work - private
source share