Was sind die Unterschiede zwischen var let const in JavaScript

Was sind die Unterschiede zwischen var let const in JavaScript

1. Wiederholte Erklärung

var unterstützt wiederholte Deklarationen, aber let und const unterstützen keine wiederholten Deklarationen.

1,1 var

var a = 1;
var a = 2;
konsole.log(a);

Ausgabe:

2

1.2 lassen

sei b = 3;
sei b = 4;
console.log(b);

Ausgabe:

Nicht abgefangener Syntaxfehler: Der Bezeichner „b“ wurde bereits deklariert

1.3 konstant

Konstante c = 5;
Konstante c = 6;
console.log(c);

Ausgabe:

Nicht abgefangener Syntaxfehler: Der Bezeichner „c“ wurde bereits deklariert

2. Variable Förderung

var unterstützt die Variablenheraufstufung, fördert jedoch nur die Deklaration und nicht den Wert. let und const unterstützen keine Variablenpromotion.

2.1 var

ein = 2;
konsole.log(a);
var a = 1;

Ausgabe:

2

2.2 lassen

ein = 2;
konsole.log(a);
sei a = 1;

Ausgabe:

Nicht erfasster Referenzfehler: Auf „a“ kann vor der Initialisierung bei index.html:28 nicht zugegriffen werden.

2.3 konstant

ein = 2;
konsole.log(a);
Konstante a = 1;

Ausgabe:

Nicht erfasster Referenzfehler: Auf „a“ kann vor der Initialisierung bei index.html:28 nicht zugegriffen werden.

3. Temporäre tote Zone

Es gibt keine temporäre Totzone für var, aber es gibt eine temporäre Totzone für let und const.
Solange let und const im Gültigkeitsbereich existieren, sind die von ihnen deklarierten Variablen oder Konstanten automatisch an diesen Bereich „gebunden“ und werden vom externen Gültigkeitsbereich nicht mehr beeinflusst.

3.1 var

var a = 1;
Funktion Spaß() {
    konsole.log(a);
    var a = 2;
}
Spaß();

Ausgabe:

undefiniert

3.2 lassen

sei a = 1;
Funktion Spaß() {
    konsole.log(a);
    sei a = 2;
}
Spaß();

Ausgabe:

Nicht erfasster Referenzfehler: Vor der Initialisierung kann nicht auf „a“ zugegriffen werden.

3.3 Konset

sei a = 1;
Funktion Spaß() {
    konsole.log(a);
    Konstante a = 2;
}
Spaß();

Ausgabe:

Nicht erfasster Referenzfehler: Vor der Initialisierung kann nicht auf „a“ zugegriffen werden.

4. Eigenschaften und Methoden des Fensterobjekts

Im globalen Bereich werden mit var deklarierte Variablen und mit function deklarierte Funktionen automatisch zu Eigenschaften und Methoden des Fensterobjekts.

var a = 1;
Funktion add() { };
Konsole.log(Fenster.a === a);
Konsole.log(Fenster.add === hinzufügen);

Ausgabe:

WAHR
WAHR

5. Blockumfang

var hat keinen Gültigkeitsbereich auf Blockebene, let und const jedoch schon.
Verwenden Sie var , um die Variable i in der For-Schleife zu definieren:

für (var i = 0; i < 3; i++) {
    // konsole.log(i);
}
konsole.log(i);

Ausgabe:

3

Verwenden Sie let , um die Variable i in der for-Schleife zu definieren:

für (sei i = 0; i < 3; i++) {
    // konsole.log(i);
}
konsole.log(i);

Ausgabe:

Nicht erfasster Referenzfehler: i ist nicht definiert

Damit ist dieser Artikel über die Unterschiede zwischen der Verwendung von var, let und const in JavaScript abgeschlossen. Weitere Informationen zur Verwendung von JavaScript var finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Unterschieds zwischen var, let und const in JavaScript
  • Detaillierte Erklärung der Unterschiede zwischen var, let und const in JavaScript es6
  • Detaillierte Erklärung der Unterschiede und Verwendung von var in JavaScript und let und const in ES6-Spezifikationen
  • Verstehen Sie den Unterschied zwischen den Schlüsselwörtern let, var und const in JavaScript
  • Der Unterschied zwischen let, const und var in der JavaScript ES6-Syntax

<<:  Implementierung der automatischen Vervollständigung von Docker-Befehlen

>>:  HTML-Tabellen-Markup-Tutorial (14): Tabellenkopf

Artikel empfehlen

MySQL 8.0.18 Installations-Tutorial unter Windows (Abbildung)

Herunterladen Download-Adresse: https://dev.mysql...

So öffnen Sie Port 8080 auf dem Alibaba Cloud ECS-Server

Aus Sicherheitsgründen verfügt Alibaba Cloud Serv...

So erstellen Sie mit Docker von Grund auf ein persönliches SOLO-Blog

Inhaltsverzeichnis 1. Umweltvorbereitung 2. Docke...

Detaillierte Erklärung der .bash_profile-Datei im Linux-System

Inhaltsverzeichnis 1. Umgebungsvariable $PATH: 2....

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.21 winx64

Dieser Artikel fasst die Hinweise zur Installatio...

Schreiben Sie ein Publish-Subscribe-Modell mit JS

Inhaltsverzeichnis 1. Szeneneinführung 2 Code-Opt...

Beispielcode zur Implementierung eines Hintergrundunschärfeeffekts mit CSS

Ist es der unten gezeigte Effekt? Wenn ja, lesen ...

Lösen Sie schnell das Problem des langsamen Tomcat-Starts, super einfach

Heute habe ich einem Klassenkameraden geholfen, e...

Implementierung einer Fuzzy-Abfrage wie %% in MySQL

1, %, steht für beliebige 0 oder mehr Zeichen. Es...

js, um einen simulierten Einkaufszentrumsfall zu erreichen

Freunde, die HTML-, CSS- und JS-Frontend lernen, ...

Gruselige Halloween-Linux-Befehle

Auch wenn nicht Halloween ist, lohnt es sich, sic...

Klasse in Front-End-JavaScript

Inhaltsverzeichnis 1. Klasse 1.1 Konstruktor() 1....