Scope, Closure
Daniel Steigerwald
JavaScript
// http://daniel.steigerwald.cz (MIT Licensed)
var getFn = function(start) {
// proměnná number, uložená v closure
var number = start;
// anonymní funkce, kterou vracíme
return function() {
number++;
alert(number);
};
};
// fn1 je funkce kterou vracíme z getFn
var fn1 = getFn(0);
// jak je vidět, funkce fn1 může manipulovat s proměnnou number ve svém closure
fn1(); // 1
var fn2 = getFn(2);
fn2(); // 3
fn2(); // 4