Skip to content

Instantly share code, notes, and snippets.

@sdepold
Created October 19, 2010 18:20
Show Gist options
  • Save sdepold/634727 to your computer and use it in GitHub Desktop.
Save sdepold/634727 to your computer and use it in GitHub Desktop.
Closures
// Exercise 2 - Closures
// Wrap the following code in a closure and export only the "countdown" function.
// Code
(function(name, obj) {
var index;
function log(){
console.log(index);
}
function iterate(){
log();
if(index>1) setTimeout(iterate, 1000);
index--;
}
function countdown(times){
index = times;
iterate();
}
obj[name] = countdown
})('countdown', this)
countdown(20)
@sdepold
Copy link
Author

sdepold commented Oct 19, 2010

// Exercise 2 - Closures
// Wrap the following code in a closure and export only the "countdown" function.

// Code

(function(name, obj, times) {
var index;

function log(){
console.log(index);
}

function iterate(){
log();
if(index>1) setTimeout(iterate, 1000);
index--;
}

function countdown(){
index = times;
iterate();
}

obj[name] = countdown
})('countdown', this, 20)

countdown()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment