Skip to content

Instantly share code, notes, and snippets.

@esgy
Last active October 13, 2015 01:38
Show Gist options
  • Save esgy/4118863 to your computer and use it in GitHub Desktop.
Save esgy/4118863 to your computer and use it in GitHub Desktop.
js: revealing module
/*
The idea here is that you have private methods
which you want to expose as public methods.
What are are doing below is effectively defining
a self-executing function and immediately returning
the object.
*/
var myRevealingModule = function(){
var name = 'John Smith';
var age = 40;
function updatePerson(){
name = 'John Smith Updated';
}
function setPerson () {
name = 'John Smith Set';
}
function getPerson () {
return name;
}
return{
set: setPerson,
get: getPerson
}
}();
// Sample usage:
myRevealingModule.get();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment