JavaScript est l'un des langages de programmation les plus populaires au monde. Mais comment ça marche sous le capot ? Décomposons-le étape par étape, en utilisant des concepts simples et un pseudocode, afin que tout débutant puisse comprendre.
JavaScript est un langage de programmation qui s'exécute dans un navigateur (comme Chrome, Firefox ou Safari) ou sur un serveur (à l'aide d'outils comme Node.js). Il est utilisé pour rendre les sites Web interactifs. Lorsque vous voyez des animations, des boutons faisant des choses sympas ou des jeux dans un navigateur, JavaScript fait la magie.
Pour comprendre le fonctionnement de JavaScript, nous devons comprendre deux choses :
Un contexte d'exécution est comme une boîte dans laquelle JavaScript conserve tout ce dont il a besoin pour exécuter votre code. Cela comprend :
Il existe deux principaux types de contextes d'exécution :
Imaginez que vous ayez écrit ce simple pseudocode :
// Global Code var name = "Alex"; function greet() { var message = "Hello, " + name; return message; } greet();
Voici ce que JavaScript fait étape par étape :
Lorsque le programme démarre, JavaScript crée automatiquement un Contexte d'exécution global (GEC).
Mémoire (environnement variable) :
Phase d'exécution du code :
Lorsque greet() est appelé, JavaScript crée un nouveau Contexte d'exécution de fonction (FEC) spécifiquement pour greet.
Mémoire (environnement variable) :
Phase d'exécution du code :
Une fois la fonction d'accueil terminée, son Contexte d'exécution de fonction est supprimé (supprimé). Le programme revient au Contexte Global d'Exécution.
JavaScript garde une trace de tous ces contextes d'exécution à l'aide d'une pile d'appels.
La pile d'appels est comme une pile d'assiettes :
Voici comment JavaScript traite notre code :
Code global initial (Créer GEC) :
// Global Code var name = "Alex"; function greet() { var message = "Hello, " + name; return message; } greet();
Mises à jour globales de l'exécution (code d'exécution) :
GEC: Memory: { name: undefined, greet: function } Code: Execute global lines
Appeler greet() (Créer FEC) :
GEC: Memory: { name: "Alex", greet: function } Code: Encounters greet()
Exécutez greet() et Return :
Call Stack: 1. GEC 2. FEC for greet() FEC (greet): Memory: { message: undefined } Code: Execute function lines
Terminer l'exécution :
FEC (greet): Memory: { message: "Hello, Alex" } Return value: "Hello, Alex" Call Stack after return: 1. GEC
Comprendre les contextes d'exécution vous aide à écrire de meilleurs programmes :
Essayez d'exécuter ce pseudocode dans votre esprit :
Call Stack: Empty (Program Ends)
Demandez-vous :
En maîtrisant les contextes d'exécution, vous disposerez d'une base solide pour résoudre même les problèmes JavaScript les plus délicats !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!