Heim  >  Artikel  >  Web-Frontend  >  Welche Einsatzszenarien gibt es für Verschlüsse?

Welche Einsatzszenarien gibt es für Verschlüsse?

hzc
hzcOriginal
2020-06-28 13:47:138341Durchsuche

Abschlussanwendungsszenarien umfassen: 1. SetTimeout-Aufruf unter Verwendung einer Funktionsreferenz; 2. Ersetzen Sie globale Variablen durch einen kleinen Bereich. 3. Öffentliche Methoden mit Zugriff auf private Variablen und private Funktionen.

Welche Einsatzszenarien gibt es für Verschlüsse?

Auf lokale Variablen innerhalb der Funktion kann nicht von außerhalb der Funktion zugegriffen werden, aber Funktionen innerhalb der Funktion können auf lokale Variablen innerhalb dieser Funktion zugreifen, sodass externer Zugriff auf die Funktion möglich ist wird durch Schließungen lokaler Variablen innerhalb der Funktion erreicht. Es kann jedoch leicht zu Speicherlecks führen und sollte mit Vorsicht verwendet werden.

Verwendungsszenarien für Schließungen:

1], setTimeout-Aufruf mit Funktionsreferenzmethode

Der erste Parameter von setTimeout ist normalerweise eine Funktion ausgeführt wird, ist der zweite Parameter eine Verzögerungszeit.

Wenn ein Codeabschnitt über setTimeout aufgerufen werden möchte, muss er als ersten Parameter einen Verweis auf ein Funktionsobjekt übergeben, der Verweis auf dieses Funktionsobjekt kann jedoch keine Parameter für das aufgerufene Objekt bereitstellen verzögert. Zu diesem Zeitpunkt können Sie eine andere Funktion aufrufen, um einen Aufruf an die interne Funktion zurückzugeben, und die Referenz des internen Funktionsobjekts an die setTimeout-Funktion übergeben. Die für die Ausführung der internen Funktion erforderlichen Parameter werden an diese übergeben, wenn die externe Funktion aufgerufen wird Bei der Ausführung der internen Funktion wird setTimeout verwendet. Es besteht keine Notwendigkeit, Parameter zu übergeben, da die interne Funktion weiterhin vor einer Fälschung der bereitgestellten Parameter schützen kann, wenn die externe Funktion aufgerufen wird.

Welche Einsatzszenarien gibt es für Verschlüsse?

2], kleiner Bereich anstelle globaler Variablen

Welche Einsatzszenarien gibt es für Verschlüsse?

3], privilegierte Methode für den privaten Zugriff Variablen ?

Privilegierte Methoden: öffentliche Methoden, die Zugriff auf private Variablen und private Funktionen haben

Private Variablen umfassen:

1), lokale Variablen

2) Parameter der Funktion

3) Andere innerhalb der Funktion definierte Funktionen (Abschlüsse)

Welche Einsatzszenarien gibt es für Verschlüsse?

Im Konstruktor des obigen Codes sind zwei privilegierte Methoden definiert : getName(), setName(), auf diese beiden Methoden kann über das Objekt zugegriffen werden, und beide haben Zugriff auf den privaten Variablennamen, es gibt jedoch keine Methode für den Zugriff auf den Namen außerhalb des Personenkonstruktors. Da diese beiden Methoden innerhalb der Funktion definiert sind, kann über die Bereichskette als Abschluss auf den Namen zugegriffen werden

Empfohlenes Tutorial: „JS-Tutorial

Das obige ist der detaillierte Inhalt vonWelche Einsatzszenarien gibt es für Verschlüsse?. 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