Maison > interface Web > js tutoriel > Processus d'exécution des compétences JavaScript function_javascript

Processus d'exécution des compétences JavaScript function_javascript

WBOY
Libérer: 2016-05-16 09:00:21
original
1889 Les gens l'ont consulté

1. Chaque fonction JavaScript est une instance de l'objet Function, qui possède une propriété interne [[Scope]] qui n'est accessible qu'au moteur JavaScript. Scope]] stocke une collection de portées, appelée "chaîne de portée". La collection stocke le "objet variable" VO ou "l'objet actif" AO (AO a plus d'attributs this et arguments que VO).

2. Lorsqu'une fonction est créée, tous les objets mutables dans la chaîne de portée de sa portée parent seront ajoutés à sa [[portée]] (si la portée parent est global, alors un seul objet global sera ajouté à la chaîne de portée de la fonction actuelle).

3. Lorsque la fonction est exécutée, l'environnement d'exécution de la fonction sera poussé dans une pile d'environnement :

1. À ce stade, nous entrons dans la phase d'initialisation des variables de la fonction. Cette phase déterminera les éléments internes de la fonction : cette valeur, les paramètres de la fonction, la déclaration de la variable et les arguments. L'objet actif AO de la fonction actuelle est formé. L'objet AO sera ensuite enregistré en haut de la chaîne de portée de la fonction actuelle.

Remarque : AO est rempli dans l'ordre suivant :

1. Paramètres de fonction (s'il y a des paramètres passés, des valeurs leur seront attribuées, si aucun paramètre n'est passé, la valeur initiale n'est pas définie), la deuxième priorité
2. La déclaration de fonction (si un conflit de nom survient, elle sera écrasée) a la priorité la plus élevée
3. Déclaration de variable (initialisez la valeur de la variable à undefined, si un conflit de nom survient, il sera ignoré) Troisième priorité
2. Vient ensuite l'étape d'exécution de la fonction. À ce stade, toutes les variables et déclarations de fonction utilisées dans la fonction actuelle seront recherchées dans la chaîne de portée [[Scope]] de la fonction actuelle. la chaîne de portée, ils seront d'abord recherchés. Si l'objet AO de la fonction actuelle ne recherche pas l'objet de niveau supérieur, il trouvera finalement l'objet global. S'il n'y en a pas, une erreur sera signalée (la variable est. indéfini).

Le processus d'exécution de la fonction JavaScript ci-dessus est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence et j'espère que vous soutiendrez Script Home.

É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