Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung des Unterschieds zwischen lokalen Variablen und globalen Variablen in Javascript_Javascript-Kenntnissen
Javascript hat zwei Arten von Variablen: lokale Variablen und globale Variablen. Unser Artikel soll Ihnen natürlich dabei helfen, wirklich zwischen diesen beiden Variablen zu unterscheiden.
Zuallererst können lokale Variablen nur innerhalb der Funktion aufgerufen werden, in der diese Variable deklariert ist. Globale Variablen sind Variablen, die im gesamten Code aufgerufen werden können. Natürlich ist es definitiv nicht klar, es wörtlich zu verstehen. Lassen Sie mich es unten im Detail vorstellen:
Wie wir alle wissen, müssen Variablen mit dem Schlüsselwort var deklariert werden. Variablen können in JavaScript aber auch implizit verwendet werden, das heißt, sie können ohne Deklaration direkt verwendet werden. Beachten Sie außerdem, dass JavaScript immer implizit deklarierte Variablen als globale Variablen verwendet.
Zum Beispiel:
Das Ausgabeergebnis ist: yuanjianhang
Dies zeigt, dass die Variable i eine globale Variable ist, wenn der obige Code wie folgt geändert wird:
Zu diesem Zeitpunkt hat der Browser keine Ausgabeergebnisse, da i in der Funktion myName definiert ist und daher nur eine lokale Variable von myName ist und nicht extern aufgerufen werden kann.
Schauen Sie sich nun den folgenden Code noch einmal an:
Jetzt nehmen wir einige Änderungen vor und entfernen myName();. Der Code lautet wie folgt:
Zu diesem Zeitpunkt reagiert der Browser nicht. Denn obwohl i eine globale Variable ist, wurde die Funktion myName() nicht aufgerufen. Sie entspricht also der Deklaration von i, aber der Zuweisung eines Werts an i, sodass keine Ausgabe erfolgt.
Ebenso, wenn das obige Beispiel geändert wird in:
In diesem Fall werden keine Ergebnisse ausgegeben. Der JavaScript-Code wird von oben nach unten ausgeführt. Wenn die Funktion sayName() aufgerufen wird, wird der Wert der Variablen i überprüft noch nicht ausgeführt, d. h. i wurde noch kein Wert zugewiesen, daher werden keine Ergebnisse ausgegeben.
Um das Verständnis für alle zu erleichtern, hier ein weiteres Beispiel:
Was ist dieses Mal das Ergebnis?
Die Antwort ist Guanxi
Erstens ist der ursprüngliche Wert von i yuanjianhang, aber nach dem Aufruf der Funktion myloveName () wird der Wert von i in guanxi geändert, sodass das endgültige Ausgabeergebnis guanxi ist.
Wenn Sie den Code ändern in:
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 ?