Maison > interface Web > js tutoriel > Introduction aux exemples d'environnement d'exécution JS

Introduction aux exemples d'environnement d'exécution JS

小云云
Libérer: 2018-03-07 10:37:49
original
1819 Les gens l'ont consulté

«Environnement d'exécution», quand vous entendez ce terme, vous risquez d'être confus ! Et cela est aussi appelé « contexte d’exécution » dans de nombreuses littératures, mais c’est en fait la même chose. Les livres et les documents l'expliquent souvent de manière très compliquée. C'est une partie difficile à comprendre en JS. Ne vous inquiétez pas, cet article tente d'expliquer ce concept dans un langage simple et facile.

1. Exemple d'environnement d'exécution d'explication

Regardons d'abord un exemple :
Nous entrons dans la console du navigateur :

var a=1;console.log(window.a);console.log(a);
Copier après la connexion

Le résultat est sortie 1, la variable a est évidemment une propriété de l'objet window.
Alors laissez-moi vous demander : quel est l'environnement d'exécution de la variable a ?
Je crois qu'il n'est pas difficile pour vous de répondre : c'est l'objet fenêtre ! En effet, vous avez raison. L'objet window est l'environnement d'exécution de la variable a. On l'appelle l'environnement d'exécution global car c'est l'environnement d'exécution le plus périphérique. Ici, a est défini par défaut dans l'environnement d'exécution global, donc a et window.a sont identiques.
Regardons l'exemple suivant :

function output(){
    var a=1;
    console.log(a);
}
Copier après la connexion

Dans cet exemple, a est défini à l'intérieur de la fonction, puis l'environnement d'exécution de a est l'environnement d'exécution de la fonction (sortie).
Si vous saisissez dans la fenêtre :

console.log(a);
Copier après la connexion

, une erreur sera signalée, car a n'est visible que dans la sortie de la fonction.
Mais si vous saisissez :

console.log(output);
Copier après la connexion

, la fonction s'affichera normalement, car l'environnement d'exécution de la sortie de la fonction est fenêtre, donc bien sûr elle peut être affichée en fenêtre !

2. Comment fonctionne l'environnement d'exécution ?

Nous savons que la fonction de sortie est dans l'environnement fenêtre. Lorsque le programme exécute la fonction de sortie, vous auriez dû le deviner :
L'environnement de la fenêtre confie le contrôle à l'environnement de la fonction de sortie, et l'environnement de sortie devient le champ d'accueil.
Alors, que se passe-t-il réellement dans les coulisses ?
Il y a quelque chose dans JS appelé pile d'environnement d'exécution, ou pile de contexte d'exécution. Si je ne sais pas ce qu'est la pile, je dois remplir la structure des données.
Tout comme une pile de cases, l'environnement d'exécution global est placé en bas de la pile de l'environnement d'exécution. Lors de l'exécution vers la fonction de sortie, l'environnement d'exécution de cette fonction est également regroupé dans une boîte et « empilé » au-dessus de l'environnement d'exécution global. Si je souhaite continuer à exécuter d'autres fonctions dans l'environnement global, tout comme obtenir quelque chose de la case du bas, la fonction de sortie doit être exécutée en premier. Pour le dire au sens figuré, c'est comme retirer la case du haut avant de déplacer la case du bas.

Recommandations associées :

Comment comprendre les types, les paramètres et l'environnement d'exécution en JavaScript

Explication détaillée de l'environnement d'exécution et des instances de portée

Chaîne de portée javascript et environnement d'exécution

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal