Zmienne w JavaScript są niezbędne do przechowywania i przetwarzania danych. Ważne jest, aby zrozumieć, gdzie te zmienne są ważne i do jakich obszarów twojego kodu mogą uzyskiwać dostęp. Ze względu na różne rodzaje zmiennych – globalne i lokalne – zrozumienie „zakresu” (scope) ma zasadnicze znaczenie. Zanurzmy się więc i dowiedzmy się, co takiego mają globalne i lokalne zmienne.

Najważniejsze spostrzeżenia

  • Zmienne globalne są dostępne w całym kodzie, podczas gdy zmienne lokalne są widoczne tylko w obrębie swojej funkcji.
  • Definiowanie zmiennej poza funkcją czyni ją globalną, podczas gdy definiowanie wewnątrz funkcji czyni ją lokalną.
  • Aby uzyskać klarowną i łatwą w utrzymaniu strukturę kodu, warto zadeklarować zmienne globalne na początku skryptu.

Instrukcja krok po kroku

Definicja zmiennych i ich widoczność

W pierwszym kroku przyjrzymy się, jak utworzyć zmienną i co oznacza jej widoczność. Gdy zadeklarujesz zmienną poza każdą funkcją, jak w poniższym przykładzie, jest ona globalna.

Zmienne globalne i lokalne w JavaScript

Tutaj tworzymy zmienną globalną o nazwie mojeVariable.

Tworzenie funkcji z lokalnymi zmiennymi

Następnie stworzymy dwie funkcje. Jedną funkcję nazwiemy lokalnaFunkcja, w której utworzymy lokalną zmienną. Ta zmienna jest widoczna tylko w obrębie funkcji. Zdefiniujmy więc naszą funkcję.

W lokalnaFunkcja tworzysz lokalną zmienną lokalnaV z wartością 5 i wyświetlasz ją.

Wywoływanie funkcji

Teraz chcemy wywołać lokalnaFunkcja, aby wyświetlić liczbę 5. Po wywołaniu funkcji w kodzie, wynik będzie wyglądał tak:

Testowanie widoczności lokalnej zmiennej

Teraz spróbujemy użyć lokalnej zmiennej lokalnaV w innej funkcji. Zauważysz, że to nie działa. Zróbmy wywołanie innejFunkcja i zobaczmy, co się stanie.

Otrzymujemy błąd, ponieważ zmienna lokalnaV jest widoczna tylko wewnątrz lokalnaFunkcja.

Sprawdzanie błędów w konsoli

Aby lepiej zrozumieć, dlaczego występuje błąd, dokładnie przeanalizujmy kod w konsoli. Klikając prawym przyciskiem myszy i wybierając „Zbadaj”, możesz otworzyć eksplorator DOM i konsolę, aby przeanalizować błąd.

Zmienna globalne i lokalne w JavaScript

Pokazuje to, że lokalnaV jest undefined. To potwierdza, że zmienna nie istnieje poza swoją funkcją.

Definiowanie globalnej zmiennej

Teraz stwórzmy globalną zmienną, którą możemy używać w obu funkcjach. Nazwiemy tę zmienną globalnaZmienna i przypiszemy jej prostą wartość tekstową.

Zmienne globalne i lokalne w JavaScript

Teraz ta globalna zmienna może być wywoływana w obu funkcjach, a wynik będzie taki sam. Przetestujmy to.

Zmienne globalne i lokalne w JavaScript

Definicja zmiennych i kolejność wywołania

Ważne jest, aby zauważyć, że kolejność definicji zmiennych i funkcji ma kluczowe znaczenie. Jeśli stworzysz zmienną globalną poniżej jej użycia, spowoduje to problem undefined.

Wynika to z faktu, że funkcja, która potrzebuje zmiennej globalnej, wywołuje ją przed jej definicją. Aby tego uniknąć, zaleca się definiowanie zmiennych globalnych na początku kodu.

Więcej o lokalnych zmiennych i ich zastosowaniach

Teraz stwórzmy ponownie lokalną zmienną w innej funkcji. Nazwiemy ją lokalnaZmienna i ustawimy jej wartość na 12.

Możemy również używać tej lokalnej zmiennej, ale tylko w obrębie jej własnej funkcji, a nie w innych. Używanie obu lokalnych zmiennych może wprowadzić porządek i organizację w twoich programach, w zależności od złożoności.

Podsumowanie koncepcji

Teraz rozumiesz podstawowe koncepcje dotyczące widoczności i zakresu zmiennych w JavaScript. Zmienne globalne są widoczne dla wszystkich funkcji, podczas gdy zmienne lokalne istnieją tylko w obrębie swojej funkcji. Warto definiować zmienne globalne w centralnym miejscu kodu, aby poprawić czytelność i łatwość w utrzymaniu.

Podsumowanie – Widoczność zmiennych w JavaScript

Podsumowując, nauczyłeś się, że sposób, w jaki definiujesz zmienne, ma bezpośredni wpływ na ich widoczność i zakres. Zawsze zwracaj uwagę na to, gdzie umieszczasz swoje zmienne, aby unikać błędów.

Najczęściej zadawane pytania

Co to są zmienne globalne?Zmienne globalne to zmienne, które są zadeklarowane poza funkcjami i w ten sposób są dostępne w całym skrypcie.

Co to są zmienne lokalne?Zmienne lokalne to zmienne, które są tworzone wewnątrz funkcji i są widoczne tylko w tej funkcji.

Jak najlepiej korzystać ze zmiennych globalnych?Zaleca się definiowanie zmiennych globalnych na początku skryptu, aby zapewnić klarowną strukturę i lepszą utrzymywność.

Czy mogę używać zmiennych lokalnych poza ich funkcją?Nie, zmienne lokalne są widoczne tylko w obrębie funkcji, w której zostały zdefiniowane.

Jak radzić sobie z błędami undefined?Zwróć uwagę na kolejność, w jakiej definiujesz zmienne i funkcje, aby upewnić się, że potrzebne zmienne są zdefiniowane przed ich użyciem.