Najlepszy samouczek Zamknięcia JavaScript W 2024 r. W tym samouczku możesz dowiedzieć się Zmienne globalne,Przykłady,Przykłady,Zmienna cykl życia,Licznik Dilemma,Przykłady,Przykłady,JavaScript zagnieżdżone funkcje,Przykłady,Zamknięcia JavaScript,Przykłady,Przykłady analityczne,

Zamknięcia JavaScript

Zmienne JavaScript mogą być zmienne lokalne lub globalne.

zmienne prywatne mogą być stosowane zamknięcia.


Zmienne globalne

Funkcja może uzyskać dostęp do zmiennych zdefiniowanych przez funkcje wewnętrzne, takie jak ?:

Przykłady

Funkcja myFunction () {
var a = 4;
zwracają * a;
}

Spróbuj »

Funkcja ta może być również dostępny poza zmiennych funkcji zdefiniowane, takich jak:

Przykłady

var a = 4;
Funkcja myFunction () {
zwracają * a;
}

Spróbuj »

Przykładem z tyłu, a jest zmienną globalną.

Na stronie internetowej znajdują się na globalnej zmiennej obiektu window.

globalne zmienne mogą być stosowane we wszystkich skrypty na stronie.

W pierwszej kolejności, a jest zmienną lokalną.

Zmienne lokalne mogą być wykorzystywane jedynie w celu określenia jego funkcji wewnętrznej. Dla innych funkcji lub kodu skryptu nie jest dostępna.

Nawet globalne i lokalne zmienne o tej samej nazwie, są także dwie różne zmienne. Modyfikacja jednego, to nie będzie miało wpływu na wartość drugiego.

uwaga Jeśli nie zadeklarować zmienną za pomocą słowa kluczowego var, to zmienna globalna, mimo że jest zdefiniowana wewnątrz funkcji.


Zmienna cykl życia

Zakres zmiennych globalnych są globalne, czyli w całym programie JavaScript, zmienne globalne są wszędzie.

W zmiennej zadeklarowanej wewnątrz funkcji, działa tylko wewnątrz funkcji. Zmienne te są lokalne, zasięg lokalny; parametr funkcji jest zlokalizowana, tylko wewnątrz pracy funkcji.


Licznik Dilemma

Jeśli chcesz, aby wyobrazić sobie, w niektórych statystyk liczbowych i liczniki są dostępne we wszystkich funkcjach.

Można używać zmiennych globalnych, funkcja ustawia licznik jest zwiększany:

Przykłady

Licznik var = 0;

Funkcja add () {
Licznik + = 1;
}

add ();
add ();
add ();

// Licznik jest teraz 3

Spróbuj »

Zmiana licznika wystąpił w realizacji funkcji Dodaj ().

Ale pytanie jest, każdy skrypt na stronie można zmienić licznik, nawet jeśli nie ma połączeń, aby dodać funkcję ().

Jeśli oświadczam danej funkcji w liczniku, jeśli nie wywołać funkcję nie będą modyfikować wartość licznika:

Przykłady

Funkcja add () {
Licznik var = 0;
Licznik + = 1;
}

add ();
add ();
add ();

// Celem jest wyjście 3, ale nie, to wyjście jest jedno!

Spróbuj »

Powyższy kod nie wyjdzie poprawnie, za każdym razem kiedy zadzwonić, aby dodać funkcję (), licznik zostanie ustawiony na 1.

Funkcja inline JavaScript może rozwiązać ten problem.


JavaScript zagnieżdżone funkcje

Wszystkie funkcje mogą uzyskać dostęp do zmiennych globalnych.

W rzeczywistości, w JavaScript, wszystkie funkcje mogą uzyskać do nich dostęp na podłodze zakresie.

JavaScript obsługuje funkcje zagnieżdżone. Funkcja zagnieżdżona mogą uzyskać dostęp do zmiennych na warstwie funkcyjnej.

W tym przykładzie funkcja zagnieżdżona Plus () może uzyskać dostęp do zmiennej licznika function parent:

Przykłady

Funkcja add () {
Licznik var = 0;
Funkcja Plus () {licznik + = 1;}
PLUS ();
powrót licznika;
}

Spróbuj »

Jeśli mamy dostęp do funkcji poza plusa (), tak, że możemy zająć się losem ladzie.

Musimy również zapewnić, że licznik = 0 tylko raz.

Musimy zamknięcia.


Zamknięcia JavaScript

Pamiętaj wywołania funkcji sama zrobić? Funkcja ta zrobi?

Przykłady

var add = (function () {
Licznik var = 0;
Funkcja powrotu () {return licznik + = 1;}
}) ();

add ();
add ();
add ();

3 // Licznik

Spróbuj »

Przykłady analityczne

Dodaj zmienną słowo wskazuje, wartość zwracana funkcji nazywa siebie.

Funkcja własnym powołaniem jest wykonywana tylko raz. Ustawienie licznika do zera. I wrócić do wyrażenia funkcyjnego.

dodawania zmiennej w zależności od zastosowania. Wielkie jest to, że może on być dostępny od zakresu licznika warstwy funkcji.

To się nazywa zamknięcia JavaScript. Ma zmienną prywatną, tak że funkcja staje się możliwe.

Licznik, że zakres ochrony anonimowej funkcji mogą być modyfikowane tylko metodą dodawania.

uwaga Zamknięcia są dostępne na zakres jednofunkcyjny zmiennej wewnątrz funkcji, nawet jeśli funkcja warstwa została zamknięta.
Zamknięcia JavaScript
10/30