JavaScript -Verschluss ist ein leistungsstarkes und wichtiges Konzept in JavaScript. Es bezieht sich auf eine Funktion, auch nachdem die externe (geschlossene) Funktion ausgeführt wurde, kann es weiterhin auf Variablen externer Funktionen zugreifen. Das Schließen ist eine Schlüsselkomponente des JavaScript -Bereichs und der funktionalen Programmierung.
Das Arbeitsprinzip des Verschlusses
Wenn in einer anderen Funktion eine Funktion definiert ist, kann die interne Funktion auf die Variablen und Parameter der externen Funktion zugreifen. Auch nach Ausführung der externen Funktion behält die interne Funktion die Zugriffsberechtigungen dieser Variablen bei. Dieses Verhalten wird als Schließung bezeichnet.
Abschluss Beispiel
<code class="language-javascript">function 外部函数() {
let 外部变量 = '我来自外部作用域';
function 内部函数() {
console.log(外部变量); // 内部函数可以访问外部变量
}
return 内部函数;
}
const 闭包示例 = 外部函数();
闭包示例(); // 输出: "我来自外部作用域"</code>
Nach dem Login kopieren
In diesem Beispiel:
ist ein Verschluss, da es auch nach Abschluss der Ausführung
den Zugriff auf 内部函数
beibehält. 外部函数
外部变量
Die tatsächliche Anwendung von Verschluss
Daten Privatsphäre
: Der Verschluss kann zum Erstellen privater Variablen verwendet werden, und auf diese Variablen können nur durch bestimmte Funktionen zugegriffen werden. -
Die Rückruffunktion
<code class="language-javascript">function 创建计数器() {
let 计数 = 0;
return function() {
计数++;
return 计数;
};
}
const 计数器 = 创建计数器();
console.log(计数器()); // 输出: 1
console.log(计数器()); // 输出: 2
console.log(计数器()); // 输出: 3</code>
Nach dem Login kopieren
: geschlossen wird häufig für asynchrone Programmierungen verwendet, wie z. B. Ereignisverarbeitungsprogramme oder AJAX -Aufrufe.
-
corrihua
: Für die Funktion Corrihua geschlossen, gibt eine der Funktionen eine weitere Funktion mit einigen Parametern zurück.
<code class="language-javascript">setTimeout(function() {
console.log('这是一个使用闭包的回调函数');
}, 1000);</code>
Nach dem Login kopieren
-
Die Vorteile des Verschlusses
Die Steuerungsdomänenkontrolle
<code class="language-javascript">function 乘法(a) {
return function(b) {
return a * b;
};
}
const 乘以二 = 乘法(2);
console.log(乘以二(5)); // 输出: 10</code>
Nach dem Login kopieren
: Der Verschluss hilft, den Variablenumfang zu kontrollieren, um zu verhindern, dass sie den globalen Bereich verschmutzen.
Speichereffizienz
: Der Verschluss ermöglicht den Speicher, indem die Zugriffsberechtigungen bestimmter Variablen beibehalten werden, um Speicher effektiv zu verwenden, ohne globale Variablen zu erstellen. -
Die Vorsichtsmaßnahmen zum Schließen
-
Speicherleck : Wenn es nicht richtig verwendet wird, kann der Verschluss ein Speicherleck verursachen, da sie die Referenz auf externe Variablen behalten, die das Recycling von Müll verhindern können.
Leistungsaufwand
: Überwachung kann aufgrund des erhöhten Speicherverbrauchs zu Leistungsproblemen führen.
- Beispiele in der realen Welt: Private Variablen
In diesem Beispiel: -
Variablen sind privat und können nur durch die durch den Verschluss bereitgestellte Methode zugegriffen oder geändert werden.
Das obige ist der detaillierte Inhalt vonJavaScript -Schließungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!