// ES6 – let
sei a = 1;
if (1 === a) {
sei b = 2 ;
}
for (let c = 0; c < 3; c++) {
// …
}
function getsDeclareAnotherOne() {
let d = 4;
}
console.log(a); // 1
console.log(b); // ReferenceError: b ist nicht definiert
console.log ( c); // ReferenceError: c ist nicht definiert
console.log(d); // ReferenceError: d ist nicht definiert
// window
console.log(window.a) ; // 1
console.log(window.b); // undefiniert
console.log(window.c); // undefiniert
console.log(window.d); // undefiniert
Wie wir sehen können, ist dieses Mal nur die Variable a als global deklariert. Let gibt uns eine Möglichkeit, blockbezogene Variablen zu deklarieren, die außerhalb davon undefiniert sind.
Die Die Verwendung von let und const ähnelt der von var. Beide werden zum Deklarieren von Variablen verwendet, in praktischen Anwendungen haben sie jedoch ihre eigenen speziellen Verwendungszwecke.
demo1
var name = 'shitu91'
if(true) {
var name = 'shituketang'
console.log(name) //shituketang
}
console.log(name) //shituketang
Verwenden Sie var. Die inneren Variablen, die Sie jetzt sehen, decken die äußeren Variablen ab. (Bereich) und Funktionsumfang gibt es keinen Bereich auf Blockebene.
Und let fügt JavaScript tatsächlich einen neuen Bereich auf Blockebene hinzu. Die damit deklarierten Variablen sind nur innerhalb des Codeblocks gültig, in dem sich der let-Befehl befindet.
let name = 'shitu91'
if (true) {
let name = 'shituketang'
console.log(name) //shituketang
}
console.log(name) //shitu91
demo2 gezählte Schleifenvariable als globale Variable durchgesickert
var a = [];
for (var i = 0; i < 10 ; i++) {
a[i] = function () {
console.log(i);
};
}
a6; // 10
Im obigen Code , die Variable i wird von var deklariert und ist im globalen Bereich gültig. Bei jeder Schleife überschreibt der neue i-Wert den alten Wert, sodass die endgültige Ausgabe der Wert von i in der letzten Runde ist.
Dieses Problem tritt bei Verwendung von let nicht auf.
var a = [];
for (let i = 0; i < 10; i++) {
a[i] = function () {
console.log(i );
};
}
a6; // 6
demo3
var clickBoxs = document.querySelectorAll('.clickBox')
for (var i = 0; i < ; clickBoxs.length; i++){
clickBoxs[i].onclick = function(){
console.log(i)
function iteratorFactory(i){
var onclick = function(e){
console.log(i)
}
return onclick;
}
var clickBoxs = document .querySelectorAll('.clickBox')
for (var i = 0; i < clickBoxs.length; i++){
clickBoxs[i].onclick = iteratorFactory(i)
}
const Wird auch zum Deklarieren von Variablen verwendet, es werden jedoch Konstanten deklariert. Nach der Deklaration kann der Wert einer Konstante nicht mehr geändert werden.
const PI = Math.PI
Wenn wir versuchen, die Konstante zu ändern Beim Deklarieren von Konstanten meldet der Browser einen Fehler. Const hat ein gutes Anwendungsszenario, das heißt, Variablen, die deklariert werden, wenn wir auf Bibliotheken von Drittanbietern verweisen, können Fehler vermeiden, die durch versehentliches Umbenennen in der Zukunft verursacht werden: ')
// todo
Variablen, die mit dem Schlüsselwort let deklariert wurden, verfügen nicht über die Funktion zum Heben von Variablen.
let und const werden nur im nächsten Block (in geschweiften Klammern) deklariert. Gültig
const muss bei der Deklaration zugewiesen werden
Let:
Neue Schlüsselwörter von ES6 hinzugefügt, die es uns ermöglichen, die Art und Weise zu ändern, wie wir mit Variablen arbeiten . JavaScript:
console.log(name;
let new_name = 'Max';
console.log (new_name);
"Max"
"Max"
Die Verwendung von let ermöglicht es uns Kontrollvariablenbereich. JavaScript:
let age = 24; // im Gültigkeitsbereich der 'if'-Anweisung
}console .log(age); // nicht im Gültigkeitsbereich der „if“-Anweisung
Konsole:
"Fehler"
"Referenzfehler: Alter ist nicht definiert
Das obige ist der detaillierte Inhalt vonJavaScript – ES6-Erklärung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!