Heim > Web-Frontend > js-Tutorial > Ein einfaches Verständnis von JavaScript-Abschlüssen

Ein einfaches Verständnis von JavaScript-Abschlüssen

高洛峰
Freigeben: 2016-10-15 16:09:43
Original
1312 Leute haben es durchsucht

Viele Bücher über JS wie „The Definitive Guide to JavaScript“ oder „Elevation“ erklären Schließungen auf so unklare Weise, dass Neulinge sie nicht verstehen können! Aber keine Angst, heute erkläre ich dir ganz einfach, was ein Verschluss ist. Dies ist eine Erklärung für Abschlüsse für Anfänger. Es gibt keine obskuren und stumpfen Aussagen und Sie können sie auf einen Blick verstehen. Wenn etwas nicht stimmt, korrigieren Sie mich bitte!
Um Abschlüsse zu verstehen, müssen Sie zunächst den Umfang von Variablen verstehen.
In JS gibt es zwei Variablenbereiche: globale Variablen und lokale Variablen. Wie der Name schon sagt, sind globale Variablen Variablen, auf die an jedem Ort verwiesen werden kann, und lokale Variablen sind Variablen, auf die nur an bestimmten Orten verwiesen werden kann Code unten.

var globalScope="global scope";
function f(){
    var localScope="local scope";
    console.log(globalScope);//global scope
}
console.log(localScope);//undefined
Nach dem Login kopieren

In der Funktion f() können Sie auf den außerhalb des Funktionskörpers definierten globalScope zugreifen, aber nicht auf den außerhalb des Funktionskörpers definierten localScope. Dies ist der Unterschied zwischen globalen Variablen und lokalen Variablen.
Ist es möglich, dass localScope niemals außerhalb des Funktionskörpers zugänglich ist? Nein, dafür ist ein Abschluss geboren.

function f(){
    var localScope="local scope";
    return function(){
        console.log(localScope);
    }
}
f()();//local scope
Nach dem Login kopieren

Wir haben auf die lokale Variable localScope außerhalb der Funktion f() zugegriffen. Die hier innerhalb der Funktion f() definierte anonyme Funktion ist ein Abschluss!

Ein einfaches Verständnis von JavaScript-Abschlüssen

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