Closure Example

JavaScript

// Closure Example
var digit_name = (function(){
    var names = ['zero','one','two','three',
        'four','five','six','seven',
        'eight','nine'];
    
    // It's this function that's actually assigned to digit_name.
    // And it continues to enjoy access to the 'names' var even
    // after the function that created the variable is gone!
    return function(n) {
        return names[n];
    }
}());

console.log( digit_name(3) );    // three
console.log( digit_name(7) );    // seven