1. Javascript-Variablenbereich
In JavaScript werden Variablen hauptsächlich in zwei Typen unterteilt: lokale Variablen und globale Variablen. Die entsprechenden Bereiche sind auch lokaler Bereich und globaler Bereich.
1 Lokale Variablen und Umfang
Lokale Variablen werden im Allgemeinen im Funktionskörper deklariert und verwendet:
Funktion func(){ var i=12;//Lokale Variablen...}
Der Gültigkeitsbereich einer lokalen Variablen wird im Hauptteil der Funktion verwendet, in der die Variable deklariert wird.
Der Deklarationszyklus lokaler Variablen wird beim Aufruf und der Ausführung der Funktion initialisiert und nach Abschluss des Funktionsaufrufs zerstört.
2. Globale Variablen und Umfang
Globale Variablen werden im Allgemeinen außerhalb des Funktionskörpers deklariert:
var i=12;//globale Variablenfunktion func(){......}
Es gibt auch eine Variable, die direkt ohne Deklaration verwendet wird und standardmäßig eine globale Variable ist:
function func(){ i=12;//Nicht deklariert (deklariert mit dem Schlüsselwort var), standardmäßig auf globale Variable}
Globale Variablen können in allen Skripten und Methoden auf der aktuellen Seite verwendet werden und ihr Gültigkeitsbereich liegt im Skript der aktuellen Seite.
Der Deklarationszyklus globaler Variablen wird erstellt, wenn die Variable initialisiert wird, und zerstört, wenn die aktuelle Seite geschlossen wird.
2. Art des Schlüsselworts
Das Schlüsselwort „typeof“ wird hauptsächlich zur Erkennung des Datentyps von Variablen verwendet. Die wichtigsten Datentypen in JavaScript sind Zeichenfolge, Zahl, Boolescher Wert, Objekt usw.
console.log(typeof 'str');//stringconsole.log(typeof 23);//numberconsole.log(typeof false);//booleanconsole.log(typeof [1,3,12]);//objectconsole. log(typeof {name:'jack',age:12});//objectconsole.log(typeof new Date());//object
Hinweis: Arrays und JSON-Objekte in js sind alle vom Objektdatentyp.
3. null und undefiniert
Null und undefiniert erscheinen in JavaScript häufig und weisen darauf hin, dass der Wert einer Variablen leer ist oder dass eine Variable nicht definiert ist. Beim Ausdrücken von Werten können diese als Nullwerte ausgedrückt werden, sie unterscheiden sich jedoch dennoch hinsichtlich der Datentypen.
console.log(typeof null);//objectvar persion = null;console.log(persion);//nullconsole.log(typeof undefiniert);//undefiniertvar persion2;console.log(persion2);//undefiniert
Der Datentyp von null ist Objekt und der Datentyp von undefiniert ist undefiniert.
Wenn eine Variable deklariert wird, ist der Wert null, und wenn eine Variable nur deklariert wird, ohne Zuweisung, ist der Wert undefiniert.
Schauen wir uns eine weitere Reihe von Vergleichen an:
console.log(null==undefiniert);//wahre Werte sind gleich console.log(null===undefiniert);//falsche Typen sind nicht gleich
Es ist ersichtlich, dass, wenn null und undefiniert Werte darstellen, beide leer sind; der Datentyp von null ist Objekt und der Datentyp von undefiniert ist undefiniert. Werte, die ohne Initialisierung deklariert werden, sind undefiniert.
Das Folgende ist eine Ergänzung
Situation eins
<script> var i; //Globale Variablen//Der Methodenname ist Kamel-Nomenklatur //Die Variablen in der Methode sind lokale Variablen function sayHello(){ var x=100; //Ausgabe 100 Alert(x); //Es wird ein Fehler gemeldet, da x eine lokale Variable ist und nicht darauf zugegriffen werden kann</script>
Situation zwei
<script>function sayHello(){ var x=100; if(x==100){ var y=x+1; //Output 101 } alarm(y); Innerhalb der Methode gibt es keinen Gültigkeitsbereich auf Blockebene, was in C# nicht möglich ist! ! ! for(var i=0;i<2;i++){ warning(i) } //Die in der for-Schleife definierte Variable ist der Gültigkeitsbereich auf Blockebene. warning(i); //Da i eine lokale Variable ist, wird 2 ausgegeben } sayHello();</script>
Hinweis: Variablen müssen vor der Verwendung nicht mit var deklariert werden. Solche Variablen werden als „globale Variablen“ betrachtet, werden jedoch selten auf diese Weise verwendet.
Über undefiniert und null
In den folgenden Situationen ist der Wert der Variablen undefiniert.
1. Wenn eine Variable definiert ist, aber kein Wert zugewiesen ist, ist der Wert der Variablen undefiniert.
2. Die aufgerufene Methode hat keinen Rückgabewert und der zurückgegebene Wert ist undefiniert.
3. Wenn der Attributwert des Objekts nicht vorhanden ist, ist der Rückgabewert undefiniert, z. B.: document.ddd
Beispiel1:
var xx;var yy=null;if(xx==yy){ Alert('equal');}else{ Alert('not equal');}
Die Ausgabeergebnisse sind gleich, da der Browser bei der Durchführung der if-Beurteilung die Werte von xx und yy beurteilt. Da beide keine spezifischen Werte haben, werden sie als falsch betrachtet.
Wenn das if-Urteil durch ===[alle Gleichheitszeichen] ersetzt wird, ist die Ausgabe nicht gleich! Denn === bedeutet, dass die Datentypen und Werte von xx und yy gleich sein müssen!
Beispiel2:
var xx=10var yy='10';if(xx==yy){ Alert('equal');}else{ Alert('not equal');}
Die Ausgabe ist gleich. Wenn sie in === geändert wird, ist die Ausgabe nicht gleich.
Beispiel3:
var n='10';switch(n){ case 10: alarm('number'); case '10': warning('string');}
Ausgabezeichenfolge
Bei der Entscheidung im Switch sollte der Typ berücksichtigt werden
Zusammenfassung: Das Urteil in if besteht darin, den Wert zu beurteilen, unabhängig vom Typ.