1. Was ist Schließung
Schließung, die offizielle Erklärung für Schließung 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.
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.
Eigenschaften von Verschlüssen
1 verschachtelte Funktion
2 Externe Parameter und Variablen können innerhalb der Funktion referenziert werden
3 Parameter und Variablen werden vom Garbage-Collection-Mechanismus nicht recycelt
Nachdem die allgemeine Funktion ausgeführt wurde, wird das lokal aktive Objekt zerstört und nur der globale Bereich im Speicher gespeichert. Bei Schließungen ist die Situation jedoch anders!
function fn(){ var a = ; function fn(){ //可以访问fn中定义的a值 alert( a++ ); } fn(); } fn(); // fn(); // function fn(){ var a = ; function fn(){ //可以访问fn中定义的a值 alert( a++ ); } return fn;// } var f = fn(); f(); // 执行完后a还在内存中 f(); // f = null; //a被回收
Das Obige ist die Einführung des Herausgebers zu Abschlüssen in JavaScript. Ich hoffe, es wird Ihnen hilfreich sein!