Sollevare in javascript | Spiegato

Sollevare in javascript | Spiegato
Quando il motore JavaScript esegue un programma, crea un nuovo contesto di esecuzione chiamato Contesto di esecuzione globale" o il "Contesto predefinito". Potresti sapere che JavaScript è una lingua a thread singola, quindi consente solo alla creazione di un contesto di esecuzione globale di eseguire il codice.

In JavaScript ci sono due fasi del Contesto di esecuzione globale:

  • Creazione
  • Esecuzione

Nella fase di creazione, le dichiarazioni relative a variabili e funzioni sono spostate nella parte superiore dell'ambito, noto come "Sollevamento". È anche considerato il comportamento predefinito di JavaScript.

Questo post spiega il sollevamento in JavaScript insieme agli esempi adatti. Quindi iniziamo!

Zirsting variabile in javascript

Il motore JavaScript sposta automaticamente le dichiarazioni variabili nella parte superiore del programma o dello script. Questo processo è noto come "Ziiro variabile".

Esempio: alzato variabile in JavaScript

Nell'esempio seguente, abbiamo dichiarato una variabile denominata "numero"E inizializza il suo valore"4“Ma prima di allora, ci riferiamo a"numero"Variabile attraverso il"console.tronco d'albero()" metodo:

console.log (numero);
Numero var = 4;

In questo caso, il "numero"La dichiarazione variabile viene automaticamente spostata nella parte superiore dello script. Questo è il motivo per cui l'esecuzione del fornito non ha riscontrato alcun errore:

In termini di sintassi, il codice nella fase di esecuzione sembra questo:

Numero var;
console.log (numero);
numero = 5;

Allora cosa è successo in background? Il motore JavaScript ha assegnato la memoria al "numero"Variabile durante la fase di creazione del contesto di esecuzione globale e quindi imposta i suoi valori come"non definito".

Lascia che le parole chiave sollevino in javascript

In JavaScript, le variabili definite con "permettere"La parola chiave viene issata nella parte superiore dello script, ma il motore non le inizializza. Il blocco di codice è a conoscenza della variabile definita; Tuttavia, non può essere utilizzato fino a quando non dichiariamo la variabile specificata.

Esempio: lascia che le parole chiave sollevino in javascript

Dichiareremo lo stesso "numero"Variabile usando il"permettere" parola chiave:

numero = 6;
Sia il numero = 5;

Il codice dato genererà un "ReferenceError" che il "numero"La variabile non è definita:

L'incontro "ReferenceError"Significa anche che il"numero"La variabile è posizionata nella memoria heap, ma non è ancora inizializzata.

Proveremo ad accedere a una variabile "alfa"Questo non esiste nella memoria. In questo caso, l'output mostrerà un altro "ReferenceError" che il "alfa"La variabile non è definita:

console.log (alfa);
Sia il numero = 5;

Produzione

Ora, diamo un'occhiata a come il motore JavaScript gestisce la funzione che solleva.

Funzione Hoyting in JavaScript

Le dichiarazioni delle funzioni vengono anche spostate nella parte superiore dello script dal motore JavaScript. Simile alle variabili, JavaScript offre la funzionalità alle dichiarazioni delle funzioni di issare.

Esempio: funzioni che solleva in javascript

Nel seguente esempio, il "aggiungere()"La funzione viene invocata prima di aggiungere la sua definizione:

Lascia che a = 45,
b = 23;
lascia che sum = aggiungi (a, b);
console.registro (somma);
funzione add (x, y)
restituire x + y;

Tuttavia, il programma produce ancora il valore restituito dal "aggiungere()" funzione:

Quando viene eseguito l'esempio dato, il motore JavaScript assegna la memoria alla dichiarazione del "aggiungere()" funzione. Più specificamente, un javascript "Oggetto"È creato in base al tipo di"aggiungere()"Tipo di funzione e aggiunge anche un"Riferimento della funzione" di nome "aggiungere,"Che indica l'oggetto creato.

Quindi tecnicamente, nel motore JavaScript, l'esempio sopra dato viene eseguito come segue:

funzione add (x, y)
restituire x + y;

Lascia che a = 45,
b = 23;
lascia che sum = aggiungi (a, b);
console.registro (somma);

Produzione

Entrambi i programmi forniti hanno generato lo stesso output. Ora cercheremo di issare Espressioni di funzione In JavaScript.

Espressioni di funzioni sollevate in javascript

In un Espressione della funzione JavaScript, Una variabile viene inizializzata con un valore di funzione. Di conseguenza, la variabile denominata viene solo issato, non la sua funzione.

Esempio: espressioni di funzioni che sollevano in JavaScript

Cambieremo il nostro normale "aggiungere()"Funzione a"Espressione della funzione":

var add = funzione add (x, y)
restituire x + y;

Questa volta un "TAYEERROR"Apparirà sulla finestra della console informando che"aggiungere"Non è una funzione:

Abbiamo affrontato il sopra dato "TAYEERROR"Perché il motore JavaScript ha inserito"aggiungere" come un "variabile"Nella memoria, non come funzione.

Erano tutte informazioni critiche relative a Sollevamento In JavaScript. Puoi esplorare ulteriormente questo argomento in base alle tue preferenze.

Conclusione

Sollevamento In JavaScript è supportato per variabili E Dichiarazioni delle funzioni. Nella fase di creazione del contesto di esecuzione globale, la dichiarazione relativa a variabili e funzioni viene spostata in cima all'ambito. In questo modo, un luogo nella memoria viene assegnato a entrambi, permettendoci di utilizzare variabili e funzioni prima della dichiarazione. Questo articolo ha spiegato l'aspetto in JavaScript insieme ad esempi adeguati.