Heim > Web-Frontend > js-Tutorial > JavaScript-Abschlüsse verstehen und verwenden

JavaScript-Abschlüsse verstehen und verwenden

jacklove
Freigeben: 2018-05-07 10:50:37
Original
1359 Leute haben es durchsucht

JavaScript-Verschlüsse spielen eine wichtige Rolle bei globalen Variablen und lokalen Variablen. In diesem Artikel wird das entsprechende Wissen erläutert.

JavaScript-Variablen können lokale Variablen oder globale Variablen sein.

Private Variablen können Abschlüsse verwenden.

Globale Variablen

Die Funktion kann auf Variablen zugreifen, die innerhalb der Funktion definiert sind, wie zum Beispiel:

Instanz

function myFunction() {
    var a = 4;    return a * a;}
Nach dem Login kopieren

Die Funktion kann auch auf Variablen zugreifen, die außerhalb der Funktion definiert sind Funktion, wie zum Beispiel:

Instanz

var a = 4;function myFunction() {
    return a * a;}
Nach dem Login kopieren

Im letzteren Fall ist a eine globale Variable.

Globale Variablen in Webseiten gehören zum Fensterobjekt.

Globale Variablen gelten für alle Skripte auf der Seite.

Im ersten Fall ist a eine lokale Variable.

Lokale Variablen können nur innerhalb der Funktion verwendet werden, in der sie definiert sind. Nicht verfügbar für andere Funktionen oder Skriptcode.

Auch wenn globale und lokale Variablen denselben Namen haben, handelt es sich um zwei verschiedene Variablen. Die Änderung des einen hat keinen Einfluss auf den Wert des anderen.

Wenn die Variable ohne Verwendung des Schlüsselworts var deklariert wird, handelt es sich um eine globale Variable, auch wenn sie innerhalb einer Funktion definiert ist.

Variablenlebenszyklus

Der Umfang globaler Variablen ist global, das heißt, globale Variablen befinden sich überall im gesamten JavaScript-Programm.

Innerhalb einer Funktion deklarierte Variablen funktionieren nur innerhalb der Funktion. Diese Variablen sind lokale Variablen und ihr Gültigkeitsbereich ist lokal; die Parameter der Funktion sind ebenfalls lokal und funktionieren nur innerhalb der Funktion.

Zähler-Dilemma

Stellen Sie sich vor, Sie möchten einige Werte zählen und der Zähler ist in allen Funktionen verfügbar.

Sie können globale Variablen und Funktionen verwenden, um das Zählerinkrement festzulegen:

Instanz

var counter = 0; 
function add() {
   return counter += 1;}
 add();add();add(); 
// 计数器现在为 3
Nach dem Login kopieren

Der Zählerwert ändert sich, wenn die Funktion add() ausgeführt wird.

Aber hier kommt das Problem: Jedes Skript auf der Seite kann den Zähler ändern, auch wenn die Funktion add() nicht aufgerufen wird.

Wenn ich den Zähler innerhalb einer Funktion deklariere, wird der Wert des Zählers nicht geändert, ohne die Funktion aufzurufen:

Instanz

function add() {
    var counter = 0;    return counter += 1;}
 add();add();add(); 
// 本意是想输出 3, 但事与愿违,输出的都是 1 !
Nach dem Login kopieren

Der obige Code wird nicht korrekt ausgegeben Jedes Mal, wenn ich die Funktion add() aufrufe, wird der Zähler auf 1 gesetzt.

In JavaScript integrierte Funktionen können dieses Problem lösen.

In JavaScript integrierte Funktionen

Alle Funktionen können auf globale Variablen zugreifen.

Tatsächlich können in JavaScript alle Funktionen auf den darüber liegenden Bereich zugreifen.

JavaScript unterstützt verschachtelte Funktionen. Verschachtelte Funktionen können auf Funktionsvariablen der oberen Ebene zugreifen.

In diesem Beispiel kann die eingebettete Funktion plus() auf die Zählervariable der übergeordneten Funktion zugreifen:

Beispiel

function add() {
    var counter = 0;    function plus() {counter += 1;}
    plus();    
    return counter; 
}
Nach dem Login kopieren

Wenn wir extern auf die Funktion plus() zugreifen können , so Dies wird das Gegendilemma lösen.

Wir müssen außerdem sicherstellen, dass counter = 0 nur einmal ausgeführt wird.

Wir brauchen Schließungen.

JavaScript-Verschlüsse

Erinnern Sie sich an die Funktion, die sich selbst aufruft? Was macht diese Funktion?

Beispiel

var add = (function () {
    var counter = 0;    return function () {return counter += 1;}})(); 
add();add();add(); 
// 计数器为 3
Nach dem Login kopieren

Verfügen Sie über ein allgemeines Verständnis der Abschlusskenntnisse globaler Variablen und lokaler Variablen. Weitere Lernmaterialien finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Verwandte Erklärungen zur JavaScript-Formularvalidierung

Wissen über JavaScript-Popup-Ereignisse

JavaScript-Datum (Datum) bezogene Kenntnisse und Verwendung

Das obige ist der detaillierte Inhalt vonJavaScript-Abschlüsse verstehen und verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage