Skip to content

Instantly share code, notes, and snippets.

@fauxparse
Created August 8, 2011 18:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fauxparse/1132414 to your computer and use it in GitHub Desktop.
Save fauxparse/1132414 to your computer and use it in GitHub Desktop.
JS Master Class Ex 2
// Exercise 2 - Closures
// Wrap the following code in a closure and export only the "countdown" function.
(function(scope, functionName) {
var index;
function log(){
console.log(index);
}
function iterate(){
log();
if(index>1) setTimeout(iterate, 1000);
index--;
}
function countdown(){
index = 10;
iterate();
}
scope[functionName] = countdown;
})(this, 'countDown');
countDown();
var countdown = (function() {
var index;
function log(){
console.log(index);
}
function iterate(){
log();
if(index>1) setTimeout(iterate, 1000);
index--;
}
function countdown(){
index = 10;
iterate();
}
return countdown;
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment