Javascript: contesto di esecuzione

Jan 23 2023
Mentre i codici che scriviamo sono in esecuzione, ci sono processi in background che non vediamo. Quando il motore Javascript legge ed esegue i codici, lo fa in 2 fasi.

Mentre i codici che scriviamo sono in esecuzione, ci sono processi in background che non vediamo. Quando il motore Javascript legge ed esegue i codici, lo fa in 2 fasi. Questo processo generale, chiamato contesto di esecuzione , ha 2 fasi, come abbiamo accennato come fase di creazione e fase di esecuzione .

Nella prima fase, chiamata fase di creazione , il motore JS esegue una sorta di lavoro di familiarizzazione e preparazione del codice. Crea un contesto, alloca memoria per memorizzare variabili e funzioni. Nella fase successiva, che è la fase di esecuzione , il motore JS assegna i valori di cui abbiamo parlato alle variabili che già conosce e chiama le funzioni.

Possiamo paragonarlo alla preparazione di un tipo di cibo. Impariamo fin dall'inizio quali accessori sono necessari per il cibo che andremo a preparare (fase di creazione).

Fase di creazione

Quindi determiniamo la quantità di scorte e iniziamo l'azione per preparare il cibo (fase di esecuzione).

Fase di esecuzione

Quando il codice viene eseguito per la prima volta, viene prima creato il contesto di esecuzione globale e vengono eseguite le fasi menzionate. Quindi, se le funzioni esistono e vengono chiamate, vengono creati contesti di esecuzione funzionale ed entrambe le fasi vengono eseguite.

Possiamo praticamente vedere tutto questo con il codice qui sotto.

  1. Quando questo codice viene letto dal motore, verrà creato prima un contesto globale .
  2. Contesto di esecuzione globale

2. Nel caso in cui l'avessi notato, non è stato fatto nulla con la variabile tech nella funzione getTechStack . Questo perché la variabile si trova all'interno della funzione getTechStack . Dopo che questa funzione è stata chiamata come nella riga 9, verrà creato un nuovo contesto funzionale e 2 fasi verranno eseguite nuovamente in questo contesto. Solo allora la variabile tecnologica sarà trattata come qualsiasi altra variabile.

Contesto di esecuzione della funzione

A differenza del contesto globale , l'oggetto globale nel contesto funzionale sarà equivalente all'oggetto argomenti , che fa riferimento ai parametri della funzione.

Quindi ogni volta che viene chiamata una funzione diversa dal contesto globale, verrà creato un nuovo contesto e verrà ripetuta la stessa procedura.

Grazie per aver letto. :)

Altri argomenti: