Consideremos el siguiente código Javascript:Javascript cierre evaluación inmediata
var a = [];
var f = function() {
for (var i = 0; i < 3; i++) {
a.push(function(){alert(i)});
}
for (var j = 0; j < 3; j++) {
a[j]();
}
};
Las alertas imprimen '3' las tres veces. Quiero un comportamiento diferente: en cada iteración del ciclo, se genera una función que imprime el valor actual de i. Es decir. 3 funciones que imprimen diferentes índices.
¿Alguna idea?
Solo para agregar esto es porque Javascript no tiene el concepto de ámbito de bloque solo ámbito de función, esto me arrojó también ... http://www.mattfreeman.co.uk/2010/03/closures-scope-in- javascript-vs-c/ –