Sto chiudendo la testa intorno alle chiusure di JavaScript e sono in un punto in cui le cose stanno cadendo sul posto; vale a dire una chiusura è le variabili locali per una funzione, mantenuta in vita dopo che la funzione è ritornata, oppure una chiusura è uno stack-frame che non viene deallocato quando la funzione restituisce.Perché abbiamo le chiusure in JavaScript?
Sto iniziando a capire questo concetto, ma più capisco e più continuo a chiedermi perché dobbiamo usarli.
Un esempio come questo mi fa capire il concetto ma mi lascia chiedere, c'è un modo più semplice per farlo!
function sayHello(name) {
var text = 'Hello ' + name;
var sayAlert = function() { alert(text); }
sayAlert();
}
sayHello('Gath');
Mi chiedo solo perché devo mantenere in vita la variabile locale? dopo che la funzione è stata chiusa?
Dove posso trovare esempi di soluzioni implementate tramite la chiusura e che nient'altro avrebbe funzionato ma chiusure?
Cerca qui una grande quantità di risposte: http://stackoverflow.com/questions/111102/how-does-a-javascript-closure-work –