W programowaniu zakres jest zdefiniowany jako dostępność zmiennej. Lub bardziej techniczne, jest to odniesienie do kontekstu kodu. Jak więc możemy rozróżnić zakres zmiennych, a od czynników zależy ten „zakres”? Cóż, omówimy wszystko związane z zakresem zmiennego w JavaScript.
Zmienny zakres w JavaScript
W JavaScript istnieją 3 rodzaje zmiennego zakresu, a mianowicie:
Chociaż wcześniej istniały tylko dwa rodzaje zakresów ES6, globalny zakres i lokalny zakres. Ale z lokalnym zakresem ES6 został podzielony na zakres funkcji i zakres bloków.
Najpierw zacznijmy od globalnego zakresu.
Zakres globalny
Zmienne zdefiniowane poza dowolnym funkcjonować Lub kręcony Wsporniki są znane jako zmienne globalne i mają globalny zakres. Globalny zakres oznacza, że zmienne można uzyskać z dowolnej części tego programu, dowolna funkcja lub stan warunkowy może uzyskać dostęp do tej zmiennej.
Na przykład
var name = "Linuxhint";Wyjście
Notatka: Nie jest to dobra praktyka używanie zmiennych globalnych, gdy nie są one potrzebne, ponieważ każdy blok kodu będzie miał dostęp do tych zmiennych.
Lokalny zakres
Jeśli miałbyś zdefiniować niektóre zmienne w środku nawiasy kręcone lub wewnątrz określonej funkcji, wówczas zmienne te nazywane są zmiennymi lokalnymi, zmienne lokalne mają bardzo ograniczony zakres, który nazywa się lunetą lokalną, ale wraz z uwalnianiem ES6 lunet lokalny został dodatkowo podzielony na dwa różne zakresy:
Zakres funkcji
Zakres funkcji jest dostępnością zmiennych zdefiniowanych w funkcji, zmiennych tych nie można uzyskać z żadnej innej funkcji, a nawet poza funkcją w pliku głównym.
Na przykład
Najpierw utworzyliśmy zmienną wewnątrz funkcji i uzyskaliśmy dostęp do niej w funkcji:
Wyjście
W wyjściu widać, że działa doskonale zgodnie z oczekiwaniami.
Jeśli jednak spróbujemy uzyskać dostęp do tej zmiennej poza funkcją, otrzymamy błąd:
funkcja abc ()Zakres bloków
Zakres bloków jest również podtypem lokalnego zakresu. Zakres bloków można zdefiniować jako zakres zmiennych wewnątrz nawiasy kręcone . Teraz te kręcone wsporniki mogą mieć pętle, instrukcje warunkowe lub coś innego. Możesz odwoływać się tylko do tych zmiennych z wewnątrz nawiasy kręcone .
Wyobraź sobie zagnieżdżoną sytuację:
Blok kodu zamknięty z nawiasy kręcone zawierające niektóre zmienne blokowe.
Ten blok kodu jest sam w funkcji.
funkcja dodatkowa ()Teraz, gdy próbujemy uzyskać dostęp do zmiennych z wnętrza funkcji, ale poza tym konkretnym blokiem.
funkcja dodatkowa ()Aby uzyskać dostęp do tej funkcji, musimy ją wywołać przez:
dodatek();Następnie spotkamy się z błędem, mimo że są to lokalne zmienne tej samej funkcji.
Słowa kluczowe pozwalać I const są używane do definiowania zmiennych blokowych.
Na przykład
Poniższe kontrole oceny uzyskane przez ucznia i pokazują, czy uczeń zdał lub nie powiodło się.
Utworzyliśmy blokową zmienną lokalną zamkniętą w środku nawiasy kręcone Za pomocą słowa kluczowego pozwalać. Możemy nawet zastąpić to niech const. Wyjście jest jak:
Jeśli próbujesz odnieść się do zmiennej lokalnej spoza funkcji, otrzymasz błąd „Status (nazwa zmiennej) nie jest zdefiniowany”:
Notatka: Aby odnosić się do „status„Zmienna, nazywamy konsola.dziennik() funkcja z zewnątrz wsporników warunkowych;
Znaczenie słowa kluczowego Let and Const, deklarując zmienne blokowe
Jeśli zadeklarujesz zmienną w środku nawiasy kręcone bez użycia pozwalać i const Słowa kluczowe wówczas zmienna zostanie ogłoszona jako „Zmienna globalna". Wynika to z faktu, że słowa kluczowe mają predefiniowane zakresy. Aby dowiedzieć się więcej o zmiennych, deklarujących słowa kluczowe. Aby to pokazać, usuniemy pozwalać Słowo kluczowe z powyższego fragmentu kodu i uruchom kod.
Jak widać, byliśmy w stanie uzyskać dostęp do tej zmiennej poza nawiasy kręcone , co oznacza, że zmienna bez słów kluczowych „let” i „const” jest definiowana za pomocą globalnego zakresu.
Wniosek
Zmienne są „najważniejszą” częścią języka programowania. Zmienne mają różne zakresy w zależności od sposobu ich zadeklarowania. W JavaScript zmienna może być jednym z trzech różnych zakresów, globalnego, lokalnego i bloku. Nauczyliśmy się, jak te zmienne rozszczepienia działają w JavaScript, przekraczając wiele przykładów, nawet napotykaliśmy błędy, próbując uzyskać dostęp do zmiennych o różnych rozszczepieniach.