JavaScript-variabelt anvendelsesområde (med eksempler)

I denne vejledning lærer du om variabelt omfang i JavaScript ved hjælp af eksempler.

Omfang henviser til tilgængeligheden af ​​variabler og funktioner i visse dele af koden.

I JavaScript har en variabel to typer anvendelsesområde:

  1. Globalt anvendelsesområde
  2. Lokalt anvendelsesområde

Globalt anvendelsesområde

En variabel, der er erklæret øverst i et program eller uden for en funktion, betragtes som en global variabel.

Lad os se et eksempel på en global scope-variabel.

 // program to print a text let a = "hello"; function greet () ( console.log(a); ) greet(); // hello

I ovenstående program erklæres variabel a øverst i et program og er en global variabel. Det betyder, at variablen akan bruges hvor som helst i programmet.

Værdien af ​​en global variabel kan ændres inde i en funktion. For eksempel,

 // program to show the change in global variable let a = "hello"; function greet() ( a = 3; ) // before the function call console.log(a); //after the function call greet(); console.log(a); // 3

I ovenstående program er variabel a en global variabel. Værdien af ​​a er hej. Derefter åbnes variablen a inde i en funktion, og værdien ændres til 3.

Derfor ændres værdien af ​​en efter ændring af den inde i funktionen.

Bemærk : Det er en god praksis at undgå at bruge globale variabler, fordi værdien af ​​en global variabel kan ændre sig i forskellige områder i programmet. Det kan introducere ukendte resultater i programmet.

I JavaScript kan en variabel også bruges uden at erklære den. Hvis en variabel bruges uden at erklære den, bliver denne variabel automatisk en global variabel.

For eksempel,

 function greet() ( a = "hello" ) greet(); console.log(a); // hello

I ovenstående program er variabel a en global variabel.

Hvis variablen blev deklareret ved hjælp let a = "hello"af, ville programmet kaste en fejl.

Bemærk : I JavaScript er der "strict mode";, hvor en variabel ikke kan bruges uden at erklære den. For at lære mere om streng, besøg JavaScript Strict.

Lokalt anvendelsesområde

En variabel kan også have et lokalt omfang, dvs. den kan kun fås inden for en funktion.

Eksempel 1: Variabel for lokal rækkevidde

 // program showing local scope of a variable let a = "hello"; function greet() ( let b = "World" console.log(a + b); ) greet(); console.log(a + b); // error

Produktion

 helloWorld Uncaught ReferenceError: b er ikke defineret

I ovenstående program er variabel a en global variabel, og variabel b er en lokal variabel. Variablen b kan kun fås inden for funktionshilsen. Derfor, når vi forsøger at få adgang til variabel b uden for funktionen, opstår der en fejl.

lad er Block Scoped

Den letNøgleordet er blok-virkefelt (variabel kan tilgås kun i den umiddelbare blok).

Eksempel 2: Variabel med blokomfang

 // program showing block-scoped concept // global variable let a = 'Hello'; function greet() ( // local variable let b = 'World'; console.log(a + ' ' + b); if (b == 'World') ( // block-scoped variable let c = 'hello'; console.log(a + ' ' + b + ' ' + c); ) // variable x cannot be accessed here console.log(a + ' ' + b + ' ' + c); ) greet();

Produktion

 Hej Verden Hej Verden Hej Ikke fanget Reference Fejl: x er ikke defineret

I ovenstående program, variabel

  • a er en global variabel. Det kan tilgås hvor som helst i programmet.
  • b er en lokal variabel. Det er kun tilgængeligt inde i funktionen greet.
  • c er en blokomfanget variabel. Der er kun adgang til det i ifsætningsblokken.

Derfor console.log()fungerer de to første i ovenstående program uden problemer.

Vi forsøger dog at få adgang til den blokomfangede variabel c uden for blokken i den tredje console.log(). Dette vil kaste en fejl.

Bemærk : I JavaScript varer funktionsomfang og letblokomfang. Hvis du prøver at bruge var c = 'hello';inde i ifudsagnet i ovenstående program, fungerer hele programmet, da c behandles som en lokal variabel.

Hvis du vil lære mere om letversus var, skal du besøge JavaScript let vs var.

Interessante artikler...