Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erklärung, wie Javascript-Verschlüsse funktionieren

Ausführliche Erklärung, wie Javascript-Verschlüsse funktionieren

零到壹度
零到壹度Original
2018-04-08 16:05:041232Durchsuche

Der sogenannte Abschluss ist ein Ausdruck (normalerweise eine Funktion), der viele Variablen und eine an diese Variablen gebundene Umgebung hat, sodass diese Variablen auch Teil des Ausdrucks sind.

Mein Verständnis hier ist: Tatsächlich können alle Funktionsmethoden in js als Abschlüsse gezählt werden. In einfachen Worten können sie auch als verschachtelte Funktionen verstanden werden Methode:

Zum Beispiel das folgende Codebeispiel:

function run(){
   var a=10;
    return function(){
	a++;
	console.log(a);
    }
}
var foo=run();
foo();//11
foo();//12 
foo();//13

Analyse: Der Wert von foo zu diesem Zeitpunkt beträgt gleich Der Rückgabewert der Funktion run(), die Funktion foo ist ein Abschluss.

1) Der Ausführungsprozess besteht darin, zuerst die Methode foo() aufzurufen, um die Rückgabefunktion zu finden Methode in der run()-Methode, diese Rückgabefunktionsmethode zeigt auf die Variable a in der run()-Methode, und wenn foo() ausgeführt wird, wird 11 ausgegeben; ) Im obigen Beispiel ist aufgrund der Existenz eines Abschlusses das a in run() immer vorhanden, nachdem die Funktion run zurückgekehrt ist, sodass jedes Mal, wenn foo() ausgeführt wird, a der Wert von a ist, der zum addiert wird Konsole nach dem Hinzufügen von 1.

Verwandte Empfehlungen:

Was genau ist ein Verschluss

Die ausführlichste Erklärung von Schließungen

Tiefgehendes Verständnis von js-Verschlüssen

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie Javascript-Verschlüsse funktionieren. 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