Heim > Web-Frontend > js-Tutorial > Was sind var, let, const in JavaScript? Verwendung von var, let, const (Code)

Was sind var, let, const in JavaScript? Verwendung von var, let, const (Code)

青灯夜游
Freigeben: 2018-09-18 15:47:18
Original
1293 Leute haben es durchsucht

In diesem Kapitel erfahren Sie, was var, let und const in JavaScript sind. Verwendung von var, let, const (Code). Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

1. var

ist eine im globalen Fenster deklarierte globale Variable und ein Attribut des globalen Objektfensters.

var sum = 0
console.log(window.sum)  // 0
console.log(sum);        // 0
Nach dem Login kopieren

Die in der Funktion deklarierten Variablen sind lokale Variablen

function foo(){
    function bar(a){
        i = 3;
        console.log( a + i );  // 3 之后是无限循环11
    }
    var  i = 0
    for( i ; i <= 10; i++){
        bar( i * 2 )
    }
}
foo()
Nach dem Login kopieren

Dieser Code kann so geschrieben werden

function foo(){
    function bar(a){
        i = 3;
        console.log( a + i );
    }
    var i
    i = 0
    for( i ; i <= 10; i++){
        bar( i * 2 )
    }
}
foo()
Nach dem Login kopieren

Die Funktion wird hochgestuft, bevor die Variable hochgestuft wird for-Schleife, bar ist Der Parameter der Funktion ist 0, daher wird die erste Ausgabe als 3 ausgegeben. Der Fokus liegt hier auf i = 3. Es wird nach der Deklaration von i im aktuellen Bereich gesucht sucht entlang der Gültigkeitskette, in foo Habe es gefunden, also wird i in foo zu 3. Nach der Ausführung von i++ wird i= 4 erhalten. Wenn bar ausgeführt wird, wird die folgende Schleife erhalten

2 , let und const

sind zwei neue Möglichkeiten, Variablen in ES6 zu deklarieren. Eine wiederholte Deklaration derselben Variablen im selben Bereich ist nicht zulässig.

Da es keine Variablenhochstufung gibt, kann diese Variable nicht verwendet werden, bevor die Variable mit var deklariert wurde unterliegt der Variablenheraufstufung, aber der Wert ist undefiniert

In ES5 gibt es nur Funktionen auf Blockebene, aber in ES6 gibt es nicht nur Funktionsumfang. Dies ist let und const zu verdanken

var b = 1;
{
    let b = 2;
}
console.log(b);  // 1
Nach dem Login kopieren

Die geschweiften Klammern entsprechen einem Bereich auf Blockebene

var a = []
for(let i=0; i<10;i++){
    a[i] = function(){
        console.log(i);
    };
    console.log(i) //[function,function..]  总共10个
}
console.log(a)
a[8]()  // 8
Nach dem Login kopieren

Nachdem Sie let hier in var geändert haben, werden Sie feststellen, dass alle Ausgaben 10 werden.

Das von var deklarierte i ist tatsächlich eine globale Variable, die sich auf derselben Ebene wie das Array a befindet. Jedes Mal, wenn die for-Schleife den Wert von i ändert, wird er basierend auf dem ursprünglichen Wert kopiert. Wenn die Schleife endet, ist i = 10, sodass die Ausgabe unabhängig von der Art des Aufrufs 10 ist.

Das i deklariert durch let ist nur im aktuellen Dieser Block ist gültig. Für jeden Zyklus gibt es einen Block, sodass bei jeder Schleife eine neue Variable erstellt wird.

Es gibt einen Unterschied zwischen cont und let, nämlich: const wird verwendet, um Konstanten zu deklarieren. Nach der Deklaration kann sein Wert nicht mehr geändert werden. Wenn const jedoch einen Referenztypwert deklariert, speichert

const a = {}
a.name = &#39;circle&#39;
console.log(a);   // Object {name: "circle"}
Nach dem Login kopieren

const den Adresswert dieses Objekts, sodass nur garantiert werden kann, dass der Adresswert unverändert bleibt, die Attribute in diesem Objekt jedoch nicht geändert werden können

Das obige ist der detaillierte Inhalt vonWas sind var, let, const in JavaScript? Verwendung von var, let, const (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage