Javascript: contesto di esecuzione
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).
Quindi determiniamo la quantità di scorte e iniziamo l'azione per preparare il cibo (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.
- Quando questo codice viene letto dal motore, verrà creato prima un contesto 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.
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:

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































