JavaScript Global, funkcja i zakres bloków | Wyjaśnione

JavaScript Global, funkcja i zakres bloków | Wyjaśnione
JavaScript jest dość znany na obecnym rynku programowania, a to spowodowane jego ogromnym użyciem. Zostanie programistą JavaScript to nie tylko dobra robota, ale teraz konieczne jest przetrwanie na rynku programowania. JavaScript, podobnie jak każdy inny język programowania, zależy od użycia zmiennych. I każda zmienna ma swój własny zakres.

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:

  • Zakres globalny
  • Zakres funkcji
  • Zakres bloków

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";
funkcja printname ()
// Zmienną można uzyskać tutaj w środku
konsola.log („Ten samouczek jest według”+nazwa);

Nazwa wydruku();

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 bloków.

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:

funkcja abc ()
rok = 2021;
// do tej funkcji można uzyskać zmienną „rok”
konsola.Log („Rok to”+ rok);

// Zmiennej „roku” nie można uzyskać dostępu na zewnątrz tutaj
ABC();

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 ()
rok = 2021;
// do tej funkcji można uzyskać zmienną „rok”

// Zmiennej „roku” nie można uzyskać dostępu na zewnątrz tutaj
konsola.Log („Rok to”+ rok);
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.


Niech a = 10;
const B = 5;

Ten blok kodu jest sam w funkcji.

funkcja dodatkowa ()

Niech a = 10;
const B = 5;

Teraz, gdy próbujemy uzyskać dostęp do zmiennych z wnętrza funkcji, ale poza tym konkretnym blokiem.

funkcja dodatkowa ()

Niech a = 10;
const B = 5;

konsola.log (a + b);

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ę.

Marksobtained = 60
if (MarksObtained> = 45)
niech status = "minister";
konsola.log („Uwagi tematu:” + Status);

w przeciwnym razie
niech status = „nieudany”;
konsola.log („Uwagi tematu:” + Status);

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.