Maison > interface Web > js tutoriel > La compréhension de la chaîne de prototypes et de la chaîne de portée en js et le problème de ce pointage [Image]

La compréhension de la chaîne de prototypes et de la chaîne de portée en js et le problème de ce pointage [Image]

php是最好的语言
Libérer: 2018-07-28 10:06:14
original
2809 Les gens l'ont consulté

Explication détaillée de la portée et de la chaîne de portée JS : Recommander un article http://www.php.cn/js-tutorial-8031.html

C'est une phrase difficile à comprendre . Voici un aperçu : lorsque le code est exécuté dans un environnement, une chaîne de portée d'objets variables est créée. Le but de la chaîne de portée est d'assurer un accès ordonné à toutes les variables et fonctions auxquelles l'environnement d'exécution a accès.

Portée : La portée d'une variable est celle définie dans la zone des variables du code source du programme. . (Notez que la portée d'une variable est déterminée lorsque la variable est définie, pas lorsqu'une méthode est exécutée)

es5 a deux portées, la portée de la fonction et la portée globale

Chaque morceau de code JavaScript (code ou fonction global) est associé à une chaîne de portées.

Cette chaîne de portée est une liste ou liste chaînée d'objets. Ce groupe d'objets définit les variables "dans la portée" dans ce code.

Lorsque js a besoin de trouver la valeur de la variable x (ce processus est appelé résolution de variable), il commencera à partir du premier objet de la chaîne si cet objet a un objet nommé x attribut, la valeur de cet attribut. L'attribut sera utilisé directement. S'il n'y a pas d'attribut nommé x dans le premier objet, js continuera à rechercher l'objet suivant dans la chaîne. Si le deuxième objet n’a toujours pas d’attribut nommé x, il continuera à chercher le suivant, et ainsi de suite. Si aucun objet dans la chaîne de portée ne contient l'attribut x, alors on considère que x n'existe pas dans la chaîne de portée de ce code, et finalement une exception ReferenceError est levée.

Résumé : La fonction de la chaîne de portée est que pour les variables, vous pouvez trouver la valeur en fonction de cette chaîne. Vous ne pouvez rechercher que vers le haut. Si vous trouvez la première, vous ne rechercherez plus cette portée. et la chaîne de portée sont toutes les deux. Elle est déterminée lorsque la variable est définie, quel que soit l'ordre d'exécution.

Quelques questions :

La compréhension de la chaîne de prototypes et de la chaîne de portée en js et le problème de ce pointage [Image]

Le résultat de l'exécution de ce code est 3, car lorsque la fonction c est définie, elle constitue une portée, et sa précédente La portée est globale, pas la fonction auto-exécutable (

La portée et la chaîne de portée sont déterminées lorsque la variable est définie et n'ont rien à voir avec l'ordre d'exécution.

)

La compréhension de la chaîne de prototypes et de la chaîne de portée en js et le problème de ce pointage [Image]

La raison pour laquelle i peut être imprimé en dehors de l'instruction for dans cette question est que l'instruction js ne constitue pas une portée et que sa portée appartient toujours au monde global Changer var en. allons Pour signaler une erreur, essayez

La compréhension de la chaîne de prototypes et de la chaîne de portée en js et le problème de ce pointage [Image]

Cette question est relativement complète, je dois la comprendre attentivement plusieurs fois avant de la comprendre. Je n’ai pas encore écrit d’explication. . pense. . .

La compréhension de la chaîne de prototypes et de la chaîne de portée en js et le problème de ce pointage [Image]

Cette question nécessite une bonne compréhension de la chaîne des prototypes. Le résultat en cours d'exécution est 2018072717455864La compréhension de la chaîne de prototypes et de la chaîne de portée en js et le problème de ce pointage [Image]

Articles connexes :

Chaîne de portée js, chaîne de prototypes et héritage de prototypes

Explication détaillée du prototype js et de la chaîne de prototypes

Vidéos associées :

Tutoriel vidéo sur la conception de framework avancé JavaScript

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