Maison > Article > interface Web > Explication détaillée de la différence entre les variables locales et les variables globales dans les compétences javascript_javascript
Javascript a deux types de variables : les variables locales et les variables globales. Bien entendu, notre article a pour but de vous aider à véritablement distinguer ces deux variables.
Tout d'abord, les variables locales ne peuvent être appelées que dans la fonction où cette variable est déclarée. Les variables globales sont des variables qui peuvent être appelées dans tout le code. Bien sûr, il n'est certainement pas clair de le comprendre littéralement. Permettez-moi de le présenter en détail ci-dessous :
Comme nous le savons tous, les variables doivent être déclarées avec le mot-clé var. Mais les variables peuvent également être utilisées implicitement en JavaScript, c'est-à-dire qu'elles peuvent être utilisées directement sans déclaration. De plus, veillez à noter que JavaScript utilise toujours des variables implicitement déclarées comme variables globales.
Par exemple :
Le résultat de sortie est : yuanjianhang
Cela montre que la variable i est une variable globale. Si le code ci-dessus est modifié comme suit :
Pour le moment, le navigateur n'aura aucun résultat de sortie, car i est défini dans la fonction myName, il ne s'agit donc que d'une variable locale de myName et ne peut pas être appelée en externe.
Revenons maintenant au code suivant :
Maintenant, apportons quelques modifications et supprimons myName();. Le code est le suivant :
Pour le moment, le navigateur ne répondra pas. Parce que bien que i soit une variable globale, la fonction myName() n'a pas été appelée, cela équivaut donc à déclarer i mais sans lui attribuer de valeur, donc il n'y a pas de sortie.
De la même manière, si l'exemple ci-dessus est remplacé par :
Dans ce cas, aucun résultat ne sera affiché. Le code JavaScript est exécuté de haut en bas. Lorsque la fonction sayName() est appelée, la valeur de la variable i sera vérifiée à ce moment-là. pas encore été exécuté, c'est-à-dire qu'aucune valeur ne m'a encore été attribuée, donc aucun résultat ne sera affiché.
Afin de faciliter une meilleure compréhension de chacun, voici un autre exemple :
Quel est le résultat cette fois-ci ?
La réponse est guanxi
Premièrement, la valeur originale de i est yuanjianhang, mais après avoir appelé la fonction myloveName(), la valeur de i est modifiée en guanxi, donc le résultat final est guanxi.
Si vous changez le code en :
Le résultat à ce moment est yuanjianhang, car les deux i dans le code sont différents, l'un est global et l'autre est local. Cela peut aussi être compris de cette façon, bien que les noms des deux i soient les mêmes. L'essence est différente, tout comme s'il y a deux personnes portant le même nom. Bien que les noms soient les mêmes, ce ne sont pas la même personne.
Si vous modifiez le code comme suit :
Je pense que vous pouvez calculer le résultat par vous-même, et le résultat est yuanjianhang.
Puisque les variables globales peuvent être appelées à l'intérieur de la fonction, qu'en est-il de la situation suivante :
Quelle est la valeur de la variable à ce moment ?
Analysons-le :
Tout d'abord, la variable globale i reçoit la valeur : yuanjianhang.
Ensuite, la fonction myloveName() est appelée et la variable globale i reçoit une nouvelle valeur : guanxi
Le résultat doit donc être : guanxi.
Et si on avance l'alerte, comme ceci :
Quel est le résultat à ce moment ?
Le résultat vérifié est : non défini
Et si le code ressemble à ceci :
Le résultat de i à ce moment est : yuanjianhang
Pourquoi la situation non définie ci-dessus se produit-elle ? Parce que l'ordre d'exécution du code est de haut en bas et que i n'est pas défini avant sa sortie. On voit donc d'ici que lors de l'utilisation de code, la déclaration des variables doit être placée au début du code pour éviter des problèmes similaires !
De même :
Dans ce cas, il affichera également : undefined
D'accord, je n'ai que peu d'introductions sur les variables. Je pense que tout le monde peut les comprendre. Quelle que soit la manière dont le code est copié, son noyau ne changera pas.
Ce qui précède représente l'intégralité du contenu de cet article. Avez-vous une compréhension plus approfondie de la différence entre les variables locales et les variables globales en JavaScript ? Je vous souhaite à tous une bonne année et un bon apprentissage ?