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

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.25

Es gibt zwei Arten von MySQL-Installationsdateien...

Tutorial zur Installation und Konfiguration von MySQL 5.7

In diesem Artikel finden Sie das Tutorial zur Ins...

Detaillierte Einführung in den MySql-Index und korrekte Verwendungsmethode

Detaillierte Einführung in den MySql-Index und ko...

Mehrere gängige Methoden zum Festlegen der Ankerpositionierung in HTML

Mir sind mehrere Möglichkeiten bekannt, die Ankerp...

Docker ermöglicht mehrere Port-Mapping-Befehle

wie folgt: docker run -d -p 5000:23 -p 5001:22 --...

Lösung für FEHLER 1366 bei der Eingabe von Chinesisch in MySQL

Beim Eingeben von Chinesisch in MySQL tritt der f...

Prozessdiagramm zum Aufbau des Linux RabbitMQ-Clusters

1. Allgemeine Schritte Zu Beginn haben wir die In...

CSS transparenter Rahmen Hintergrund-Clip-Magie

In diesem Artikel wird hauptsächlich die wunderba...

10 beliebte Windows-Apps, die auch unter Linux verfügbar sind

Laut dem Datenanalyseunternehmen Net Market Share...

Implementierung der MySQL-Datentypkonvertierung

1. Problem Es gibt eine Tabelle wie unten gezeigt...

So importieren Sie chinesische Daten in Navicat für SQLite in CSV

In diesem Artikel erfahren Sie zu Ihrer Informati...

So stellen Sie einen Code-Server mit Docker bereit

Ziehen Sie das Bild # Docker-Pull Codercom/Code-S...