⊗jsPmFVGb 218 of 505 menu

Zmienne globalne w funkcjach w JavaScript

W JavaScript (w innych językach najczęściej nie jest tak) zmienne zdefiniowane na zewnątrz funkcji będą widoczne wewnątrz tej funkcji. Takie zmienne nazywane są globalnymi. Spójrzmy na przykład:

let num = 1; // zmienna na zewnątrz funkcji function func() { console.log(num); // zmienna num jest widoczna wewnątrz funkcji } func(); // wypisze 1

W rzeczywistości zmienna musi być zdefiniowana nie przed definicją funkcji, ale przed jej wywołaniem:

function func() { console.log(num); } let num = 1; // zmienna na zewnątrz funkcji func(); // wypisze 1

Jeśli zmieniamy wartość zmiennej i po tym za każdym razem wywołujemy funkcję - console.log za każdym razem będzie wypisywał różne wyniki:

function func() { console.log(num); } let num; // deklarujemy zmienną num = 1; // ustawiamy wartość 1 func(); // wypisze 1 num = 2; // ustawiamy wartość 2 func(); // wypisze 2

Jeśli mamy kilka funkcji, to zmienna globalna będzie dostępna w każdej z tych funkcji:

function func1() { console.log(num); } function func2() { console.log(num); } let num = 1; func1(); // wypisze 1 func2(); // wypisze 1

Jeśli w jednej z funkcji nastąpią zmiany ze zmienną globalną, to ta zmienna zmieni się we wszystkich funkcjach, używających tej zmiennej:

function func1() { console.log(num); num++; // zmieniamy zmienną globalną } function func2() { console.log(num); } let num = 1; func1(); // wypisze 1 func2(); // wypisze 2

Ponieważ dowolna z funkcji łatwo może zmienić zmienną globalną, to ich użycie stanowi wylęgarnię trudnych do wychwycenia błędów. Z tego powodu używanie zmiennych globalnych w skrypcie należy ograniczać do minimum. Pożądane jest, aby w ogóle ich nie było lub było ich najmniej.

Określ, nie uruchamiając kodu, co zostanie wypisane w konsoli:

let num = 1; function func() { console.log(num); } func();

Określ, nie uruchamiając kodu, co zostanie wypisane w konsoli:

let num = 1; function func() { console.log(num); } num = 2; func();

Określ, nie uruchamiając kodu, co zostanie wypisane w konsoli:

function func() { console.log(num); } let num; num = 1; func(); num = 2; func();
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć