In JavaScript gibt es zwei Arten von Variablen: lokale Variablen und globale Variablen. Unser Artikel ist natürlich, Ihnen zu helfen, diese beiden Variablen wirklich zu unterscheiden.
Erstens beziehen sich lokale Variablen auf Funktionen, die nur innerhalb einer von dieser Variablen deklarierten Funktion aufgerufen werden können. Eine Variable, die im gesamten Code als globale Variable aufgerufen werden kann. Natürlich ist es definitiv nicht klar, wörtlich zu verstehen. Ich werde es unten ausführlich vorstellen:
Wie wir alle wissen, müssen Variablen mit dem VAR -Schlüsselwort deklariert werden. Variablen können jedoch auch implizit in JavaScript verwendet werden, was bedeutet, dass sie direkt ohne Deklaration verwendet werden. Achten Sie darauf, dass JavaScript immer implizit als globale Variablen implizit deklarierte Variablen verwendet.
Zum Beispiel:
Die Codekopie lautet wie folgt:
Funktion myName () {
i = 'yuanjianhang';
}
myname ();
Funktion SaysName () {
Alarm (i);
}
SayName ();
Das Ausgangsergebnis ist: Yuanjianhang
Dies zeigt, dass Variable I eine globale Variable ist. Wenn der obige Code in Folgendes geändert wird:
Die Codekopie lautet wie folgt:
Funktion myName () {
var i = 'yuanjianhang';
}
myname ();
Funktion SaysName () {
Alarm (i);
}
SayName ();
Zu diesem Zeitpunkt hat der Browser kein Ausgabeergebnis, da ich in der Funktion myName definiert bin, daher ist es nur eine lokale Variable von MyName und kann nicht extern genannt werden.
Schauen Sie nun den folgenden Code zurück:
Die Codekopie lautet wie folgt:
Funktion myName () {
i = 'yuanjianhang';
}
myname ();
Funktion SaysName () {
Alarm (i);
}
SayName ();
Lassen Sie uns nun einige Änderungen vornehmen und MyName () entfernen. Und der Code ist wie folgt:
Die Codekopie lautet wie folgt:
Funktion myName () {
i = 'yuanjianhang';
}
Funktion SaysName () {
Alarm (i);
}
SayName ();
Zu diesem Zeitpunkt reagiert der Browser nicht viel. Denn obwohl ich eine globale Variable ist, wird die Funktion myName () nicht aufgerufen, so dass sie dem i entspricht, obwohl ich i erklärt wird, aber es gibt keinen Wert, sodass es keine Ausgabe gibt.
In ähnlicher Weise, wenn das obige Beispiel geändert wird in:
Die Codekopie lautet wie folgt:
Funktion myName () {
i = 'yuanjianhang';
}
Funktion SaysName () {
Alarm (i);
}
SayName ();
myname ();
In diesem Fall werden keine Ergebnisse ausgegeben. Wenn der JavaScript -Code ausgeführt wird, wird der Wert der Variablen -I -Funktion überprüft, wenn die Funktion sayname () aufgerufen wird. Zu diesem Zeitpunkt wurde der MyName noch nicht ausgeführt, was bedeutet, dass ich noch nicht zugewiesen wurde, sodass keine Ergebnisse ausgegeben werden.
Um das bessere Verständnis aller zu erleichtern, hier ist ein weiteres Beispiel:
Die Codekopie lautet wie folgt:
var i = 'yuanjianhang';
Funktion mylovename () {
i = 'Guanxi';
}
mylovename ();
Funktion myName () {
Alarm (i);
}
myname ();
Was ist das Ergebnis diesmal?
Die Antwort ist Guanxi
Zunächst einmal ist der ursprüngliche Wert von I IS Yuanjianhang, aber nachdem er MyLovename () -Funktion aufgerufen hat, wird der Wert von I in Guanxi geändert, sodass das endgültige Ausgabeergebnis Guanxi ist.
Wenn Sie den Code in:
Die Codekopie lautet wie folgt:
var i = 'yuanjianhang';
Funktion mylovename () {
var i = 'Guanxi';
}
mylovename ();
Funktion myName () {
Alarm (i);
}
myname ();
Das Ergebnis zu dieser Zeit ist Yuanjianhang, da die beiden I im Code unterschiedlich sind, einer global und der andere lokal. Es kann auch auf diese Weise verstanden werden. Obwohl die Namen der beiden i gleich sind, ist die Essenz dieser beiden ich anders, als ob es zwei Personen mit demselben Namen gibt. Obwohl die Namen gleich sind, sind sie nicht dieselbe Person.
Wenn Sie den Code in diesen verwandeln:
Die Codekopie lautet wie folgt:
var i = 'yuanjianhang';
Funktion mylovename () {
i = 'Guanxi';
}
Funktion myName () {
Alarm (i);
}
myname ();
mylovename ();
Ich glaube, jeder kann das Ergebnis selbst herausfinden, und das Ergebnis ist Yuanjianhang.
Da globale Variablen innerhalb der Funktion aufgerufen werden können, was ist mit der folgenden Situation:
Die Codekopie lautet wie folgt:
var i = 'yuanjianhang';
Funktion mylovename () {
i = 'Guanxi';
Alarm (i);
}
mylovename ();
Welcher Wert ist zu diesem Zeitpunkt die Variable?
Lassen Sie uns analysieren:
Erstens wird die globale Variable I zugewiesen als: Yuanjianhang.
Als nächstes wird MyLovename () -Funktion aufgerufen, und die globale Variable I wird zu einem neuen Wert zugewiesen: Guanxi
Das Ergebnis ist also definitiv: Guanxi.
Was ist, wenn wir im Voraus aufmerksam machen, wie folgt:
Die Codekopie lautet wie folgt:
var i = 'yuanjianhang';
Funktion mylovename () {
Alarm (i);
i = 'Guanxi';
}
mylovename ();
Was ist das Ergebnis zu diesem Zeitpunkt?
Verifizierte Ergebnisse sind: undefiniert
Was ist, wenn der Code so ist:
Die Codekopie lautet wie folgt:
var i = 'yuanjianhang';
Funktion mylovename () {
Alarm (i);
}
mylovename ();
Das Ergebnis zu dieser Zeit ist: Yuanjianhang
Warum passiert die obige undefinierte Situation? Weil die Ausführungsreihenfolge des Codes von oben nach unten ist und es keine Definition von i gibt, bevor ich i ausgibt. Daraus können wir also sehen, dass bei der Verwendung des Code die Variablenerklärung vor dem Code platziert werden muss, um ähnliche Probleme zu vermeiden!
Ähnlich:
Die Codekopie lautet wie folgt:
var i = 'yuanjianhang';
Funktion mylovename () {
Alarm (i);
var i = 'Guanxi';
}
mylovename ();
In diesem Fall wird es auch ausgegeben: undefiniert
Okay, ich habe nur so viele Einführungen in Variablen, und ich glaube, jeder kann diese verstehen. Egal wie der Code kopiert wird, sein Kern ändert sich nicht.
Das obige dreht sich alles um diesen Artikel. Haben Sie ein tieferes Verständnis des Unterschieds zwischen lokalen Variablen und globalen Variablen in JavaScript? Ich wünsche Ihnen ein frohes neues Jahr und ein glückliches Studium.