"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > JavaScript est-il synchrone ou asynchrone, et est-il monothread ou multithread ? Comment le code JavaScript est-il exécuté ?

JavaScript est-il synchrone ou asynchrone, et est-il monothread ou multithread ? Comment le code JavaScript est-il exécuté ?

Publié le 2024-11-06
Parcourir:747

JavaScript est un langage synchrone à thread unique qui ne peut exécuter qu'une seule commande à la fois. Il passera à la ligne suivante seulement une fois que la ligne actuelle aura terminé son exécution. Cependant, JavaScript peut effectuer des opérations asynchrones à l'aide d'une boucle d'événements, de promesses, d'Async/Await et d'une file d'attente de rappel (JavaScript est synchrone par défaut).

Comment le code JavaScript est-il exécuté ?

Tout en JavaScript se produit dans un contexte d'exécution (considérez-le comme une grande boîte ou un conteneur). L'intégralité du code JavaScript est exécuté dans ce contexte d'exécution. Il comporte deux composants : le composant mémoire (l'environnement variable) et le composant code (le thread d'exécution).

  • Composant mémoire : C'est ici que toutes les variables et fonctions sont stockées sous forme de paires clé-valeur.
  • Composant de code : C'est ici que le code est exécuté (une ligne à la fois)."

Tout d'abord, un contexte d'exécution global est créé. Dans ce cadre, chaque fonction crée son propre contexte d'exécution.

Avant l'exécution d'une ligne de code, la mémoire est allouée à toutes les variables et fonctions.

Comment le code est-il exécuté après l'allocation de mémoire ?
Le moteur JavaScript parcourt à nouveau l'intégralité du programme (ligne par ligne) et exécute le code.

Regardons l'exemple suivant :

function add(a,b){
   var ans = a b;
   console.log(ans);
}
var addition = add(6,5);

Dans cet exemple, un contexte d'exécution global est d'abord créé, composé de deux composants : le composant mémoire (MC) et le composant de code (CC).

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

Pour les fonctions, l'intégralité du code de fonction est stockée en mémoire. Pour les variables, une valeur spéciale, non définie, est stockée initialement.

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

Lorsque la fonction est invoquée, un autre contexte d'exécution est créé. Dans le composant mémoire, les valeurs des paramètres (a = 6, b = 5) sont stockées, tandis que les variables comme ans contiennent initialement la valeur indéfinie. Dans le composant Code, les valeurs du composant mémoire sont utilisées pour effectuer l'opération (a b = 6 5 = 11). Le résultat est ensuite imprimé sur la console.

J'espère que cette explication clarifie le concept. Si vous avez des questions ou des corrections, n'hésitez pas à les poser dans la section commentaires.

Crédits à Akshay Saini (Voir :[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])

Déclaration de sortie Cet article est reproduit sur : https://dev.to/ramya_srim/is-javascript-synchronous-or-asynchronous-and-is-it-single-threaded-or-multi-threaded-how-is-javascript-code- exécuté- 24b2?1 S'il y a une infraction, veuillez contacter [email protected] pour la supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3