Bitte beachten Sie zunächst, dass let etwas in ES6 ist, zumindest ist es mit IE-Browsern vor IE10 kompatibel, also seien Sie vorsichtig ... Schauen wir uns dann die Verwendung der let-Anweisung zum Deklarieren des Bereichs in JavaScript an
Syntax
let variable1 = value1
Parametervariable1
Der Name der zu deklarierenden Variablen.
Wert1
Der der Variablen zugewiesene Anfangswert.
BemerkungenVerwenden Sie die let-Anweisung, um eine Variable zu deklarieren, deren Gültigkeitsbereich auf den Block beschränkt ist, in dem sie deklariert ist. Sie können einer Variablen einen Wert zuweisen, wenn Sie sie deklarieren, oder Sie können der Variablen später im Skript einen Wert zuweisen.
Mit let deklarierte Variablen können nicht vor der Deklaration verwendet werden, da sonst ein Fehler auftritt.
Wenn Ihre Variable nicht in einer let-Anweisung initialisiert wird, wird ihr automatisch der JavaScript-Wert undefiniert zugewiesen.
Beispiel:
var l = 10; { let l = 2; // At this point, l = 2. } // At this point, l = 10. // Additional ways to declare a variable using let. let index; let name = "Thomas Jefferson"; let answer = 42, counter, numpages = 10; let myarray = new Array();
Bereich auf Blockebene
for(var i = 0; i < 10; i++){} console.log(i); //10 for(let j = 0; j < 10; j++){} console.log(j); //"ReferenceError: j is not defined
Keine variable Förderung
console.log(a); // 输出undefined console.log(b); // 报错ReferenceError console.log(c); // 报错ReferenceError var a = 2; let b = 2;
Beachten Sie: Unterschied zwischen undefiniert und ReferenceError
Temporäre Totzone (TDZ)Solange Sie den aktuellen Bereich auf Blockebene betreten, sind die verwendeten Variablen bereits vorhanden, aber bevor sie deklariert werden, gehören sie dazu die tote Zone und kann nicht verwendet werden.
Hinweis: „typeof“ ist kein 100 % sicherer Vorgang mehr
typeof x; // ReferenceError typeof y // undefined let x;
Doppelte Deklarationen sind nicht zulässig
let x = 1; let x; // "SyntaxError: Identifier 'x' has already been declared var y = 2; var y = 3; // y = 3
Geltungsbereich auf Blockebene
// 匿名函数写法 (function () { var tmp = ...; ... }()); // 块级作用域写法 { let tmp = ...; ... }
Der strikte Modus von ES5 legt fest, dass Funktionen nur im Bereich der obersten Ebene deklariert werden können und innerhalb der Funktion in anderen Situationen (z. B. wenn Codeblöcke und Schleifencodeblöcke) einen Fehler melden.
// ES5 'use strict'; if (true) { function f() {} // 报错 }
Aufgrund der Einführung des Bereichs auf Blockebene in ES6 kann diese Situation so verstanden werden, dass die Funktion im Bereich auf Blockebene deklariert wird, sodass kein Fehler gemeldet wird, sondern die geschweiften Klammern, die den Block bilden darf nicht fehlen
// 报错 'use strict'; if (true) function f() {}
Die deklarierten globalen Variablen sind keine Attribute des Fensters mehr
"use strict"; var a = 1; console.log(window.a) // 1 let b = 1; console.log(window.b) // undefined
Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Detailliertes Verständnis und praktische Verwendung von Javascript Funktion (Code im Anhang)
Detaillierte Antworten zu JavaScript-Modulen
Das obige ist der detaillierte Inhalt vonVerwenden der let-Anweisung zum Deklarieren des Bereichs in JavaScript (Bild- und Text-Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!