Heim >Web-Frontend >js-Tutorial >Das Abschlussprinzip von js verstehen

Das Abschlussprinzip von js verstehen

黄舟
黄舟Original
2017-02-27 14:41:371353Durchsuche

Frage? Was ist das Abschlussprinzip von js (JavaScript) und welche Funktion hat es?

1. Definition

Offizielle Erklärung: Ein Abschluss ist ein Ausdruck mit vielen Variablen und einer an diese Variablen gebundenen Umgebung (normalerweise eine Funktion). ), daher sind diese Variablen auch Teil des Ausdrucks.


Natürlich, pfui. . . . . Was! Die Landbevölkerung kann das Einschlagen von Türen nicht verstehen! ! !

Das Verständnis des Herausgebers ist also folgendes: **** ist eine in einer Funktion definierte Funktion, auf die extern zugegriffen werden kann. (Unter normalen Umständen können wir nicht auf lokale Funktionen zugreifen ) Das ist ein bisschen so, als würde man die Hose ausziehen und furzen. Es ist unnötig, aber nicht unnötig . Schließungen haben definitiv ihre Rolle.


Funktion: 1. Es kann die Objekte globaler Variablen reduzieren und verhindern, dass globale Variablen zu groß werden in der Vergangenheit und erschwert die Wartung

2. Verhindern Sie veränderbare Variablen, da interne Variablen von außen nicht zugänglich sind und nicht geändert werden können. Sicherheit

3. Lesen Sie die Variablen innerhalb der Funktion. Die andere besteht darin, die Werte dieser Variablen im Speicher zu behalten.

2. Beispiel: (js-Code)

1. Das Besondere an der Javascript-Sprache ist, dass die globale Funktion direkt darin gelesen werden kann die Funktionsvariable.

var n=999;
  function f1(){
    alert(n);
  }
  f1(); // 999


2. Andererseits können lokale Variablen innerhalb der Funktion nicht außerhalb der Funktion gelesen werden.

 

 function f1(){
    var n=999;
  }
  alert(n); // error


Bei der Deklaration von Variablen innerhalb einer Funktion müssen Sie den Befehl var verwenden. Wenn Sie es nicht verwenden, deklarieren Sie tatsächlich eine globale Variable!

  function f1(){
    n=999;
  }
  f1();
  alert(n); // 999



** ***Wie lese ich lokale Variablen von außen?

Manchmal müssen wir lokale Variablen innerhalb einer Funktion abrufen. Dies ist jedoch, wie bereits erwähnt, im Normalfall nicht möglich und kann nur durch Workarounds erreicht werden.


function f1(){
    n=999;
    function f2(){
      alert(n); // 999
    }
  }


3. Hinweise zur Verwendung von Abschlüssen

1) Da Abschlüsse dazu führen, dass die Variablen in der Funktion im Speicher gespeichert werden, was viel Speicher verbraucht, können Abschlüsse nicht missbraucht werden, da es sonst zu Leistungsproblemen auf der Webseite kommt. Kann zu einem Speicherverlust im IE führen. Die Lösung besteht darin, alle nicht verwendeten lokalen Variablen zu löschen, bevor die Funktion beendet wird.


2) Durch den Abschluss wird der Wert der internen Variablen der übergeordneten Funktion außerhalb der übergeordneten Funktion geändert. Wenn Sie daher die übergeordnete Funktion als Objekt, den Abschluss als öffentliche Methode und die internen Variablen als privaten Wert verwenden, müssen Sie darauf achten, den Wert der Variablen innerhalb der übergeordneten Funktion nicht
zu ändern .

Das Obige ist das Verständnis des Schließungsprinzips von js. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website ( www.php.cn )!


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