Regardons d'abord un morceau de code
fonction show () {alert (ABC); } var abc = "defg"; montrer();Les personnes qui ont de l'expérience dans la programmation C ++ ou Java peuvent dire: "Ce programme est mort, et la variable est définie après la fonction qui fait référence à la variable. Le bug vous détruira." Si vous l'exécutez dans le navigateur, que se passera-t-il? Courir parfaitement! Ensuite, parlons de ce qui se passe - la différence entre les variables avec VAR et sans définition VAR.
1. Pas de var
Pour le dire simplement, il n'est pas sûr d'omettre VAR lors de la définition des variables, mais c'est légal. À l'heure actuelle, peu importe où la variable est définie, l'interprète attribuera la portée globale de la variable.
2. Avoir var
Sûr et légal. La portée d'une variable définie dépend de l'emplacement des définis. Quant à ce qu'est la portée, veuillez vous référer à l'article "JavaScript Scope" dans ce blog.
De cette façon, le problème au début peut être résolu. La définition d'ABC dans la fonction n'est que la valeur des non définis. À l'heure actuelle, ABC a une portée globale, et l'extérieur de la fonction n'est que la mise à jour de la valeur d'ABC.