mi sono imbattuto in 'sollevamento' JavaScript e non ho capire come questo frammento di codice realmente funzioni:JavaScript 'sollevamento'
var a = 1;
function b() {
a = 10;
return;
function a() {}
}
b();
alert(a);
so che dichiarazione di funzione simile (function a() {}
) sta per essere issato all'inizio della funzione scope b
ma non dovrebbe sovrascrivere il valore di a
(perché le dichiarazioni di funzione sovrascrivono le dichiarazioni di variabili ma non l'inizializzazione di variabili) quindi mi aspettavo che il valore dell'avviso fosse 10 anziché 1 !!
sollevamento è il comportamento predefinito di JavaScript del movimento dichiarazioni verso l'alto. * (le dichiarazioni di funzione vengono "spostate" da dove appaiono nel flusso del codice all'inizio del codice. Questo dà origine al nome "Hoisting".) * [Ulteriori informazioni] (https://github.com/) getify/You-Dont-Know-JS/blob/master/scope% 20% 26% 20closures/ch4.md) – M98