Heim  >  Artikel  >  Web-Frontend  >  Verwenden der let-Anweisung zum Deklarieren des Bereichs in JavaScript (Bild- und Text-Tutorial)

Verwenden der let-Anweisung zum Deklarieren des Bereichs in JavaScript (Bild- und Text-Tutorial)

亚连
亚连Original
2018-05-21 13:40:501349Durchsuche

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 &#39;x&#39; 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
&#39;use strict&#39;;
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

// 报错
&#39;use strict&#39;;
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)

JavaScript Grundlegende mentale Fähigkeiten (Bild- und Text-Tutorials, detaillierte Antworten für Sie)

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn