Skip to content

Instantly share code, notes, and snippets.

@jbinto
Last active December 15, 2015 18:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jbinto/5301893 to your computer and use it in GitHub Desktop.
Save jbinto/5301893 to your computer and use it in GitHub Desktop.
A practical example of closures in JavaScript: creating custom loggers.
function getLogger(prefix) {
return function(message) {
console.log(prefix + ": " + message);
}
}
// Video component
(function() {
log = getLogger("video");
log("initialized");
// do some video stuff
log("h264 3022kbit/s");
})();
// Audio component
(function() {
log = getLogger("audio");
log("initialized");
// do some audio stuff
log("48khz stereo");
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment