Closure Demo
Demonstration of a simple closure. Create a function to determine if a person is old enough to drink based on birthdate
by Rykus0
JavaScript
var birthday = new Date('6/24/1994');
function ageTestFactory(drinkingAge_yr){
var MS_PER_YEAR = 31557600000;
return function(dBirthdate){
var dNow = new Date('6/24/2013'); // Force date to keep example correct
var age_ms = dNow - dBirthdate;
var age_yr = Math.floor(age_ms / MS_PER_YEAR);
return age_yr > drinkingAge_yr;
}
}
var canIDrink_us = ageTestFactory(21);
var canIDrink_pl = ageTestFactory(18);
console.log(canIDrink_us(birthday));
console.log(canIDrink_pl(birthday));