ho scritto il seguente frammento di codice:Cosa sta succedendo con lo scope JavaScript qui?
var f = function() { document.write("a"); };
function foo() {
f();
var f = function() { document.write("b"); };
}
foo();
mi aspettavo la funzione che consente di stampare a
di essere chiamato, ma dà invece un errore di runtime di chiamare un valore undefined
. Perché succede?
Questo fenomeno è certamente dettagliato in ogni libro JavaScript per principianti, per non parlare di innumerevoli tutorial per principianti e domande StackOverflow. Difficile capire perché le persone continuino a rimanere bloccate su questo. –