Dato il seguente codice, cosa devo aspettarmi di vedere nell'avviso?Scopo della funzione anonima passato come argomento di funzione
var a = 100;
function afunc(infunc){
a = 10;
infunc.call();
}
afunc(function(){alert(a)});
Il mio primo pensiero è stato che il mio browser dovrebbe avvisare il 100 poiché la variabile a = 100 sarebbe di portata per la funzione anonima passata come argomento a afunc. Ma questo presuppone che la funzione anonima sia effettivamente definita nel contesto globale. Apparentemente questo non è il caso in quanto gli avvisi del browser 10. Quindi perché è un = 10 prima di a = 100 nella catena dell'ambito?
Grazie!
Facepalm! Ora mi sento sciocca. –
sì, è la ragione corretta –