Vorwort: Bevor wir uns mit dem Blockebenenbereich befassen, müssen wir uns mit dem Umfang vertraut machen. Der sogenannte Umfang ist der Bereich, innerhalb dessen ein Mitglied im Code arbeitet. 1. Was ist Blockbereich? Der sogenannte Blockebenenbereich bedeutet, dass die Variable nur in dem Codeblock oder Untercodeblock verwendet werden kann, in dem sie deklariert ist. In Versionen vor /* * Im Bereich auf Blockebene kann nur das Schlüsselwort let verwendet werden. * Das Schlüsselwort let kann nicht nur den Bereich auf Blockebene deklarieren, sondern auch im globalen Bereich und im Funktionsbereich verwendet werden. * / // Globaler Gültigkeitsbereich let a = 100; // Globale Variablen (Funktion () { // Funktionsumfang let b = 200; // lokale Variable })() wenn (wahr) { // Blockbereich let c = 300; // lokale Variable } konsole.log(a); // 100 console.log(b); // wirft eine Ausnahme console.log(c); // wirft eine Ausnahme 2. Warum brauchen wir Blockbereich? Lokale Variablen können globale Variablen überschreiben var v = 100; (Funktion(){ console.log(v); // undefiniert var v = 200; }) Die zum Zählen im Schleifenkörper verwendete Variable wird als globale Variable weitergegeben. // Definiere einen Schleifenkörper für (var v = 0; v < 10; v++) { console.log("Dies ist eine For-Schleife"); // Dies ist eine For-Schleife * 10 } konsole.log(v); // 10 Wenn die Variable nach Abschluss der Schleife nicht manuell freigegeben wird, bleibt ihr Lebenszyklus mit dem Skript bestehen und belegt Speicher. 3. Mit Funktionsdeklaration Fall 1: wenn (wahr) { Funktion f() {} } Fall 2: versuchen { Funktion f() {} } Fang(e) { // ... } Die beiden oben genannten Funktionsdeklarationen sind laut { Funktion Spaß() { console.log('das macht Spaß'); } } spaß(); // das macht Spaß // Das Obige ist äquivalent zu der folgenden Funktion { var fn = Funktion () { console.log('das ist fn'); } } fn(); // das ist fn // Wenn Sie das Schlüsselwort let verwenden, können Sie außerhalb des Blockbereichs nicht darauf zugreifen { lass f = Funktion () { console.log('das ist f'); } } f(); // Löst eine Ausnahmebeschreibung von ReferenceError aus: f ist nicht definiert Dies ist das Ende dieses Artikels über die neue Block-Level-Scope-Funktion von Das könnte Sie auch interessieren:
|
<<: Lösung zur Definition der Mindestspannweite hat keine Auswirkung
Aufgrund der Anforderungen des Arbeitsprojekts is...
Inhaltsverzeichnis Ursachen der MySQL-Tabellenfra...
Dieser Artikel erläutert anhand von Beispielen da...
Inhaltsverzeichnis 1. Datenbank-Engpass 2. Unterb...
Der Befehl tee wird hauptsächlich verwendet, um d...
Originallink: https://vien.tech/article/157 Vorwo...
Inhaltsverzeichnis 1. Projektordnerstruktur 1. As...
Inhaltsverzeichnis verwenden Verwendung von EsLin...
Konfiguration der Hauptbibliothek 1. Konfiguriere...
1. Vermeiden Sie es, die Seite als XML-Typ zu dek...
Aufgrund der Geschäftsanforderungen des Unternehm...
1. Nach dem Betreten des Containers Katze /etc/ho...
Definition von Generika // Anforderung 1: Generik...
1. Einleitung Die EXPLAIN-Anweisung liefert Infor...
1.Gerätebreite Definition: Definiert die sichtbar...