Heim  >  Artikel  >  Web-Frontend  >  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)

青灯夜游
青灯夜游Original
2018-09-18 15:47:181225Durchsuche

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

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()

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()

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

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

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"}

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!

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