Hoisting JavaScript
- Pagina precedente Ambito JS
- Pagina successiva Modo Stricto JS
Il sollevamento (Hoisting) è il comportamento predefinito di JavaScript che sposta le dichiarazioni in alto.
Le dichiarazioni di JavaScript vengono sollevate
In JavaScript, è possibile dichiarare una variabile dopo averla utilizzata.
In altre parole, si può usarla prima della sua dichiarazione.
Esempio 1 ConEsempio 2 I risultati sono gli stessi:
Esempio 1
x = 5; // Assegna 5 a x elem = document.getElementById("demo"); // Trova l'elemento elem.innerHTML = x; // Mostra x nell'elemento var x; // Dichiarazione di x
Esempio 2
var x; // Dichiarazione di x x = 5; // Assegna 5 a x elem = document.getElementById("demo"); // Trova l'elemento elem.innerHTML = x; // Mostra x nell'elemento
Per comprendere questo, devi comprendere il termine "sollevamento".
Il sollevamento (Hoisting) è il comportamento predefinito di JavaScript che solleva tutte le dichiarazioni all'inizio dell'ambito corrente (all'inizio dello script o della funzione corrente).
le parole chiave let e const
usare let
o const
Le variabili dichiarate e le costanti non vengono sollevate!
Per favore JS Let / Const Leggi di più su let e const in questo articolo.
L'inizializzazione di JavaScript non viene sollevata
JavaScript solleva solo le dichiarazioni, non l'inizializzazione.
Esempio 1 ConEsempio 2 I risultati sono diversi:
Esempio 1
var x = 5; // Inizializzare x var y = 7; // Inizializzazione di y elem = document.getElementById("demo"); // Trova l'elemento elem.innerHTML = x + " " + y; // Mostra x e y
Esempio 2
var x = 5; // Inizializzare x elem = document.getElementById("demo"); // Trova l'elemento elem.innerHTML = x + " " + y; // Mostra x e y var y = 7; // Inizializzazione di y
L'ultimo esempio, y è ancora non definito, ha senso?
Questo è perché solo la dichiarazione (var y) e non l'inizializzazione (=7) vengono sollevate in alto.
Grazie al hoisting, y è stata dichiarata prima del suo utilizzo, ma poiché l'inizializzazione non è stata sollevata, il valore di y è ancora non definito.
Anche l'esempio 2 è lo stesso:
Esempio
var x = 5; // Inizializzare x var y; // Dichiarare y elem = document.getElementById("demo"); // Trova l'elemento elem.innerHTML = x + " " + y; // Mostra x e y y = 7; // Assegna 7 a y
Dichiarare le tue variabili in alto!
Il hoisting (per molti sviluppatori) è un comportamento sconosciuto o trascurato di JavaScript.
Se i sviluppatori non comprendono il hoisting, il programma potrebbe contenere bug (errori).
Per evitare bug, dichiarare sempre tutte le variabili all'inizio di ogni ambito.
Poiché questo è il modo in cui JavaScript interpreta il codice, mantieni questa buona abitudine.
Il modo Stricto JavaScript non permette l'uso di variabili non dichiarate.
Continua a leggere il prossimo capitolo:use strict。
- Pagina precedente Ambito JS
- Pagina successiva Modo Stricto JS