Maison > interface Web > js tutoriel > 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é ?

Mary-Kate Olsen
Libérer: 2024-09-25 06:20:32
original
919 Les gens l'ont consulté

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 là 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éé. Au sein de cela, 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);
Copier après la connexion

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 (Réf. :[(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal