Heim  >  Artikel  >  Web-Frontend  >  Verstehen Sie die Grundprinzipien von JavaScript-Abschlüssen

Verstehen Sie die Grundprinzipien von JavaScript-Abschlüssen

WBOY
WBOYOriginal
2023-06-15 20:54:04824Durchsuche

Der JavaScript-Abschluss ist ein relativ komplexes Konzept. Vielen Anfängern fällt es schwer, Abschlüsse zu verstehen, aber sie sind ein wichtiges Konzept für das Verständnis von JavaScript und das Schreiben von hochwertigem Code.

Was ist Schließung?
Abschluss bedeutet, dass eine Funktion auf Variablen außerhalb ihres Gültigkeitsbereichs zugreifen kann. Diese Variablen sind auch außerhalb der Funktion weiterhin vorhanden. Dies liegt daran, dass eine Funktion beim Definieren einen eigenen Bereich erstellt, der alle in der Funktion definierten Parameter und Variablen der Funktion enthält. Wenn die Funktion zurückkehrt, ist der Bereich noch vorhanden und die Funktion greift weiterhin auf die Variablen im Bereich zu. Dies ist ein Abschluss.

Grundprinzip:
Wenn eine Funktion aufgerufen wird, enthält ihre Bereichskette Variablen aus dem aktuellen Bereich und allen übergeordneten Bereichen. Wenn die Funktion verschachtelte Funktionen hat, umfasst die Bereichskette der verschachtelten Funktion auch Variablen aus dem übergeordneten Bereich und dem aktuellen Bereich. In einer solchen Umgebung kann eine innere Funktion auf die Variablen der äußeren Funktion zugreifen, die äußere Funktion kann jedoch nicht auf die Variablen der inneren Funktion zugreifen. Dieser Mechanismus wird als lexikalisches Scoping oder statisches Scoping bezeichnet.

Anwendungen von Abschlüssen:
Abschlüsse werden häufig in vielen Entwurfsmustern und -techniken in JavaScript verwendet. Hier sind einige praktische Anwendungsfälle für die Verwendung von Abschlüssen:

1. Private Variablen abrufen:
Da es in JavaScript kein Konzept für private Variablen gibt, können durch die Verwendung von Abschlüssen private Variablen simuliert werden. Solange eine Variable innerhalb einer Funktion definiert ist, bleibt sie im Gültigkeitsbereich dieser Funktion bestehen, bis die verschachtelte Funktion zurückkehrt oder gelöscht wird.

Das folgende Codebeispiel zeigt beispielsweise, wie ein Abschluss zum Erstellen eines Zählers verwendet wird:

function createCounter() {
let count = 0;
function counter() {

count++;
console.log(count);

}
return counter;
}
const myCounter = createCounter();
myCounter(); //2
myCounter(); //3

2. Verzögerte Ausführung:

Verwenden Sie Abschlüsse, um eine verzögerte Ausführung zu implementieren. Wenn Sie eine bestimmte Zeit warten müssen, bevor Sie eine Funktion ausführen, können Sie dazu Abschlüsse verwenden.

Zum Beispiel zeigt der folgende Code, wie Schließungen verwendet werden, um eine Funktion mit verzögerter Ausführung zu implementieren:

function verzögertFunction() {

let timer;
return function() {

clearTimeout(timer);
timer = setTimeout(() => {
  console.log('Delayed function executed!');
}, 1000);

}

}
const myDelayedFunction = verzögertFunction() ;
myDelayedFunction(); //Warten Sie 1 Sekunde und geben Sie „Verzögerte Funktion ausgeführt!“ aus.

Obwohl das Schließen schwierig erscheinen mag, ist es ein sehr nützliches Konzept für JavaScript-Entwickler. Das Verständnis der Grundprinzipien von Abschlüssen ist der Schlüssel zum Verständnis von Funktionen und Entwurfsmustern höherer Ordnung in JavaScript. Ich hoffe, dass dieser Artikel Ihnen hilft, Abschlüsse besser zu verstehen und sie auf Ihre Programme anzuwenden.

Das obige ist der detaillierte Inhalt vonVerstehen Sie die Grundprinzipien von JavaScript-Abschlüssen. 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