Si consideri il seguente codice JavaScript:javascript chiusura immediata valutazione
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]();
}
};
Gli avvisi stampano '3' tutte e tre le volte. Voglio un comportamento diverso - in ogni iterazione del ciclo genera una funzione che stampa il valore corrente di i. Cioè 3 funzioni che stampano diversi indici.
Qualche idea?
Solo per aggiungere questo è dovuto al fatto che Javascript non ha il concetto di scope scope scope scope, anche questo mi ha gettato ... http://www.mattfreeman.co.uk/2010/03/closures-scope-in- javascript-vs-c/ –