Heim > Web-Frontend > Front-End-Fragen und Antworten > Wann bildet Javascript einen Abschluss?

Wann bildet Javascript einen Abschluss?

WBOY
Freigeben: 2022-03-02 16:42:46
Original
2197 Leute haben es durchsucht

Wenn in JavaScript eine interne Funktion außerhalb der externen Funktion aufgerufen wird, die die interne Funktion enthält, wird ein Abschluss gebildet. Ein Abschluss ist ein Stapelbereich, der bei der Rückkehr der Funktion keine Ressourcen freigibt Funktionsvariable, die aktiv ist, wenn die Funktion zurückkehrt.

Wann bildet Javascript einen Abschluss?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Wann bildet JavaScript einen Abschluss?

Die offizielle Erklärung des Abschlusses lautet: ein Ausdruck (normalerweise eine Funktion), der viele Variablen und eine an diese Variablen gebundene Umgebung hat, sodass diese Variablen auch Teil des Ausdrucks sind.

Merkmale des Abschlusses:

1. Als Referenz auf eine Funktionsvariable wird sie aktiviert, wenn die Funktion zurückkehrt.

2. Ein Abschluss ist ein Stapelbereich, der keine Ressourcen freigibt, wenn eine Funktion zurückkehrt.

Einfach ausgedrückt ermöglicht JavaScript die Verwendung interner Funktionen – das heißt, Funktionsdefinitionen und Funktionsausdrücke befinden sich im Funktionskörper einer anderen Funktion. Darüber hinaus haben diese inneren Funktionen Zugriff auf alle lokalen Variablen, Parameter und anderen inneren Funktionen, die in der äußeren Funktion deklariert sind, in der sie existieren.

Ein Abschluss wird gebildet, wenn eine dieser inneren Funktionen außerhalb der äußeren Funktion aufgerufen wird, die sie enthält.

function closure(){
var str = "I'm a part variable.";
return function(){
alert(str);
}
}
var fObj = closure();
fObj();
Nach dem Login kopieren

Im obigen Code ist str eine im Funktionsabschluss definierte lokale Variable. Wenn nach Abschluss des Funktionsaufrufs nicht mehr auf str zugegriffen werden kann, wird str nach Abschluss der Funktionsausführung freigegeben.

Aber da der Funktionsabschluss eine interne Funktion zurückgibt und die zurückgegebene Funktion auf die Variable str verweist, kann auf str verwiesen werden, nachdem die Abschlussfunktion ausgeführt wurde, sodass die von str belegten Ressourcen nicht recycelt werden. Dieser Verschluss bildet einen Verschluss.

Verwandte Empfehlungen: Javascript-Lern-Tutorial

Das obige ist der detaillierte Inhalt vonWann bildet Javascript einen Abschluss?. 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