Details zum JavaScript-Abschluss

Details zum JavaScript-Abschluss

Vorwort:

Im JavaScript Teil sind Closures sehr wichtig, daher fassen wir heute das relevante Wissen zu Closures zusammen. Bevor wir Closures verstehen, müssen wir zunächst die relevanten Kenntnisse über den Umfang haben. Im vorherigen Blogbeitrag zum Umfang wurde dies erklärt, daher werde ich es hier nicht wiederholen. Schauen wir uns als Nächstes an, was ein Abschluss ist.

1. Was ist ein Abschluss?

closure ist eine Funktion, die Zugriff auf Variablen im Gültigkeitsbereich einer anderen Funktion hat. ----- Fortgeschrittene JavaScript Programmierung

Einfach ausgedrückt ist ein Abschluss eine Funktion mit folgenden Merkmalen : Ein Bereich kann auf die lokalen Variablen innerhalb einer anderen Funktion zugreifen.

Hier ist ein einfaches Beispiel:

Beispielsweise haben wir jetzt eine Funktion und definieren darin eine lokale Variable. Wenn andere Bereiche auf diese lokale Variable zugreifen können, wird ein Abschluss generiert. Daher definieren wir eine weitere Funktion innerhalb dieser Funktion, um zu sehen, ob der Funktionsumfang innerhalb der Funktion auf die lokalen Variablen in der äußeren Funktion zugreifen kann.

 Funktion f1(){
            varnum = 10;
            Funktion f2(){
                konsole.log(num);
            }
            f2();
        }
        f1();

Das ausgedruckte Ergebnis lautet:

Es kann festgestellt werden, dass der Wert erfolgreich ausgedruckt wurde, sodass ein Abschluss generiert wird.
Einige Leser haben jedoch möglicherweise Fragen: Die Funktion f2 selbst befindet sich innerhalb der Funktion f1 und kann die Variablen der übergeordneten Funktion verwenden. Dann greifen wir auf die Variable im Gültigkeitsbereich außerhalb der Funktion f1 zu und sehen, was das Ergebnis ist.

Wir ändern den Aufruf der Funktion f2 in den Rückgabewert der Funktion f1 und rufen dann die Funktion f1 außerhalb der Funktion wie folgt auf:

 Funktion f1(){
            varnum = 10;
            Funktion f2(){
                konsole.log(num);
            }
           return f2()
        }
        var f = f1();
        F();

An diesem Punkt ist es gleichbedeutend damit, dass der Bereich außerhalb von f1 auf die Variablen seiner internen Funktion zugreift. Das Druckergebnis ist:

Es lässt sich feststellen, dass die darin enthaltenen lokalen Variablen auch hier verwendet werden können und Abschlüsse generiert werden.

Wir können also Folgendes schlussfolgern:

Abschluss: Ein Bereich kann auf lokale Variablen innerhalb einer anderen Funktion zugreifen.

2. Die Rolle des Abschlusses

Wir wissen, dass die lokalen Variablen, die innerhalb einer Funktion definiert sind, nur innerhalb der Funktion verwendet werden können und zerstört werden, wenn wir sie nicht mehr verwenden. Mit Closures wird diese lokale Variable jedoch außerhalb der Funktion verwendet und erst zerstört, wenn ihr externer Aufrufer sie nicht mehr verwendet. Daher besteht die Rolle von Closures darin, den Gültigkeitsbereich der Variable zu erweitern.

Dies ist das Ende dieses Artikels über JavaScript-Closures. Weitere Informationen zu JavaScript-Closures finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Lassen Sie uns ausführlich über die Rolle von Closures in JS sprechen
  • Detaillierte Erklärung des Prinzips und der Funktion des JavaScript-Closures
  • Erweiterte Closures in JavaScript erklärt
  • JavaScript-Closures erklärt
  • Lassen Sie uns lernen, was Javascript-Closures sind

<<:  Html Select verwendet das ausgewählte Attribut, um die Standardauswahl festzulegen

>>:  Achten Sie beim Schreiben von Kurzeigenschaften in CSS auf die Reihenfolge der TRouBLe (um Fallstricke zu vermeiden).

Artikel empfehlen

Implementierungsmethoden gängiger CSS3-Animationen

1. Was ist CSS Animations ist ein vorgeschlagenes...

MySql Group By implementiert die Gruppierung mehrerer Felder

Bei täglichen Entwicklungsaufgaben verwenden wir ...

So führen Sie Tomcat-Quellcode im Maven-Modus aus

Vorwort Kürzlich habe ich den Startvorgang von To...

Umfassende Zusammenfassung zu MySQL GTID

Inhaltsverzeichnis 01 Einführung in GTID 02 Wie G...

Ursachen und Lösungen für den MySQL-Fehler „zu viele Verbindungen“

Inhaltsverzeichnis Kurzzusammenfassung Heute Mitt...

Das WeChat-Applet verwendet Canvas zum Zeichnen von Uhren

In diesem Artikel wird der spezifische Code zur V...

CentOS 6 Kompilieren und installieren Sie ZLMediaKit-Analyse

Installieren Sie ZLMediaKit auf centos6 Der Autor...

Dieser Artikel hilft Ihnen, den Quellcode von PReact10.5.13 zu verstehen

Inhaltsverzeichnis render.js-Teil create-context....

Vergleich zwischen Node.js und Deno

Inhaltsverzeichnis Vorwort Was ist Deno? Vergleic...

Schritte zum Übertragen von Dateien und Ordnern zwischen zwei Linux-Servern

Heute habe ich mich mit der Migration eines Proje...