Javascript: contesto di esecuzione (Aze)
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 assimila 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 scorte sono necessarie per il cibo che prepareremo (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 un piccolo codice.
- 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à uguale 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)



































