W JavaScript są dwie fazy z Globalny kontekst wykonania:
W fazie tworzenia deklaracje związane ze zmiennymi i funkcjami są przesunięte na szczyt zakresu, znanego jako „Podnoszenie". Jest również uważane za domyślne zachowanie JavaScript.
Ten post wyjaśnia podnoszenie w JavaScript wraz z odpowiednimi przykładami. A więc zacznijmy!
Zmienne podnoszenie w JavaScript
Silnik JavaScript automatycznie przesuwa deklaracje zmienne na górę programu lub skryptu. Ten proces jest znany jako „Zmienne podnoszenie".
Przykład: Zmienne podnoszenie w JavaScript
W poniższym przykładzie zadeklarowaliśmy zmienną o nazwie „numer”I zainicjował jego wartość„4„, Ale wcześniej odwołujemy się do„numer„Zmienna przez„konsola.dziennik()" metoda:
konsola.log (liczba);W tym przypadku „numer„Deklaracja zmienna jest automatycznie przenoszona na górę skryptu. To jest powód, dla którego wykonanie dostarczonego nie napotkało żadnego błędu:
Pod względem składni kod w fazie wykonania wygląda tak:
numer var;Więc co się stało w tle? Silnik JavaScript przydzielał pamięć do „numer„Zmienna podczas globalnej fazy tworzenia kontekstu wykonywania, a następnie ustal jej wartości jako„nieokreślony".
Niech podnoszenie słów kluczowych w JavaScript
W JavaScript zmienne zdefiniowane za pomocą „pozwalać„Słowo kluczowe są podnoszone na górze skryptu, ale silnik ich nie inicjuje. Blok kodu wie o zdefiniowanej zmiennej; Nie można go jednak wykorzystać, dopóki nie ogłosimy określonej zmiennej.
Przykład: Niech podnoszenie słów kluczowych w JavaScript
Zadeklarujemy to samo „numer„Zmienna za pomocą„pozwalać”Słowo kluczowe:
liczba = 6;Dany kod wygeneruje „ReferenceStror" że "numer„Zmienna nie jest zdefiniowana:
Spotkanie „ReferenceStror”Oznacza również, że„numer„Zmienna jest umieszczana w pamięci sterty, ale nie jest jeszcze inicjowana.
Postaramy się uzyskać dostęp do zmiennej ”alfa„To nie istnieje w pamięci. W takim przypadku wyjście pokaże kolejne „ReferenceStror" że "alfa„Zmienna nie jest zdefiniowana:
konsola.log (alfa);Wyjście
Teraz sprawdźmy, w jaki sposób silnik JavaScript obsługuje podnoszenie funkcji.
Funkcja podniesienia w JavaScript
Deklaracje funkcji są również przesunięte na górę skryptu przez silnik JavaScript. Podobnie jak zmienne, JavaScript oferuje funkcjonalność deklaracji funkcji wciągnika.
Przykład: Podnoszenie funkcji w JavaScript
W poniższym przykładzie „dodać()„Funkcja jest wywoływana przed dodaniem jej definicji:
Niech a = 45,Jednak program nadal wyprowadza wartość zwróconą przez „dodać()”Funkcja:
Po wykonaniu podanego przykładu silnik JavaScript przydziela pamięć do deklaracji „dodać()”Funkcja. Mówiąc dokładniej, JavaScript „Obiekt”Jest tworzony zgodnie z typem„dodać()”Typ funkcji, a także dodaje„Odniesienie do funkcji" o imieniu "dodać,”, Który wskazuje na utworzony obiekt.
Tak więc technicznie, w silniku JavaScript, powyższy przykład jest wykonywany w następujący sposób:
funkcja dodaj (x, y)Wyjście
Oba podane programy wygenerowały to samo wyjście. Teraz spróbujemy podnieść Wyrażenia funkcyjne W JavaScript.
Wyrażenia funkcyjne Podnoszenie w JavaScript
W Wyrażenie funkcji JavaScript, zmienna jest inicjowana z wartością funkcji. W rezultacie wymieniona zmienna jest tylko podnoszona, a nie jej funkcja.
Przykład: Wyrażenia funkcyjne Podnoszenie w JavaScript
Zmienimy nasze regularne „dodać()”Funkcja do„Wyrażenie funkcji”:
var add = funkcja add (x, y)Tym razem „Typeerror”Pojawi się w oknie konsoli, informując, że„dodać”Nie jest funkcją:
Skończyliśmy powyższe „Typeerror”Ponieważ silnik JavaScript umieścił„dodać" jak "zmienny”W pamięci, a nie jako funkcja.
To były wszystkie krytyczne informacje związane z Podnoszenie W JavaScript. Możesz dalej zbadać ten temat zgodnie z preferencjami.
Wniosek
Podnoszenie W JavaScript jest obsługiwany zmienne I Deklaracje funkcji. W fazie tworzenia globalnego kontekstu wykonania deklaracja związana z zmiennymi i funkcjami jest przenoszona na szczyt zakresu. W ten sposób miejsce w pamięci jest przydzielane obu z nich, umożliwiając nam stosowanie zmiennych i funkcji przed deklaracją. Ten zapis wyjaśnił podnoszenie w JavaScript wraz z odpowiednimi przykładami.