Contexte d'exécution en JavaScript
Commençons par un exemple, puis nous décomposons comment ce code fonctionne dans les coulisses.
var x = 10;
var y = 20;
function add(a,b){
return a+b;
}
var result = add(x,y);
console.log(result) //30
Tout d'abord, déclarez les variables x & y et initialisez avec leurs valeurs respectives 10 & 20.
Deuxièmement, déclarez la fonction add qui accepte l'argument et renvoie la somme des arguments, c'est-à-dire 10 + 20 = 30.
Troisièmement, appelez la fonction add avec les arguments comme valeurs de la variable x & y et stockez le résultat dans le résultat de la variable.
Enfin, sortie de la variable result avec console.
Lors de l'exécution du code ci-dessus, JavaScript fait beaucoup de choses.
Lorsque le moteur JavaScript exécute le code JavaScript à ce moment-là, il crée des contextes d'exécution.
Chaque contexte d'exécution a deux phases
- La phase de création.
- La phase d'exécution.
Lorsque le moteur JavaScript exécute le code pour la première fois, il crée le contexte d'exécution global. Au cours de cette phase, JavaScript effectue certaines tâches.
- Créez l'objet global, c'est-à-dire la fenêtre dans le navigateur Web ou global dans le Node.js .
- Créez cet objet (ce mot-clé) et liez-le à l'objet global. Dans le cas d'un navigateur Web, ce mot-clé est attaché à l'objet window et dans Node js, ce mot-clé est attaché à l'objet global.
- Configurez un tas de mémoire pour stocker les références de variables et de fonctions.
- Stockez les déclarations de fonction dans le tas de mémoire et les variables dans le contexte d'exécution global avec les valeurs initiales non définies.
- Stockez la variable x, y & result et la déclaration de fonction add() dans le contexte d'exécution global.
- Initialisez les variables avec une valeur indéfinie, c'est-à-dire x = undefined , y = undefined et result = undefined.
Phase d'exécution
Lors de la phase d'exécution, le moteur JavaScript exécute le code ligne par ligne, affecte les valeurs aux variables et exécute les appels de fonction.
Pour chaque appel de fonction, le moteur JavaScript crée un nouvel appel d'exécution fonctionnelle.
Le contexte d'exécution de la fonction est similaire au contexte d'exécution global. Mais au lieu de créer l'objet global, le moteur JavaScript crée l'objet arguments qui fait référence à tous les paramètres de la fonction.
Dans notre exemple, le moteur JavaScript crée un objet arguments qui fait référence à tous les paramètres transmis à la fonction et définit cette valeur sur l'objet global dans le cas d'un navigateur Web, cette valeur est attachée à l'objet window et dans Node js cette valeur est attachée à global objet et il initialise également un paramètre & b avec une valeur indéfinie.
Lors de la phase d'exécution du contexte d'exécution de la fonction, le moteur JavaScript attribue la valeur 10 & 20 aux paramètres a & b et renvoie le résultat (30) au contexte d'exécution global.
Pour garder une trace de tous les contextes d'exécution, y compris le contexte d'exécution global et les contextes d'exécution de fonction, le moteur JavaScript utilise la pile d'appels.
Restons en contact
J'espère que cet article vous sera utile, rendez-vous au prochain !
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































