Premenné v JavaScript sú nevyhnutné na ukladanie a spracovanie dát. Je dôležité pochopiť, kde sú tieto premenné platné a na ktoré časti tvojho kódu môžu získať prístup. Vzhľadom na rôzne typy premenných – globálne a lokálne – je porozumenie "scopom" (oblasť viditeľnosti) kľúčové. Ponorme sa teda a zistime, čo obnášajú globálne a lokálne premenné.

Najdôležitejšie poznatky

  • Globálne premenné sú prístupné všade v kóde, zatiaľ čo lokálne premenné sú viditeľné iba vo vnútri ich funkcie.
  • Definovanie premennej mimo funkcie ju robí globálnou, zatiaľ čo definovanie vo vnútri funkcie ju robí lokálnou.
  • Aby bola štruktúra kódu jasná a udržiavateľná, je výhodné deklarovať globálne premenné na začiatku skriptu.

Krok za krokom návod

Definícia premenných a ich viditeľnosť

V prvom kroku sa pozrieme na to, ako môžeš vytvoriť premennú a čo znamená jej viditeľnosť. Ak deklaruješ premennú mimo akejkoľvek funkcie, ako je ukázané v nasledujúcom príklade, je táto globálna.

Globálne a lokálne premenné v JavaScripte

Tu vytvárame globálnu premennú nazvanú meineVariable.

Vytváranie funkcií s lokálnymi premennými

Ďalej vytvoríme dve funkcie. Jednu funkciu nazveme lokaleFunkcia, v ktorej vytvoríme lokálnu premennú. Táto premenná je viditeľná iba vo vnútri funkcie. Definujme našu funkciu.

V lokaleFunkcia vytvoríš lokálnu premennú lokaleV s hodnotou 5 a vypíšeš ju.

Volanie funkcií

Teraz chceme zavolať lokaleFunkcia, aby sme na obrazovku vypísali číslo 5. Po tom, čo sme funkciu v kóde zavolali, vyzerá výstup takto:

Testovanie viditeľnosti lokálnych premenných

Teraz sa pokúsime použiť lokálnu premennú lokaleV v inej funkcii. Zistíš, že to nefunguje. Poďme zavolať andereFunkcia a uvidíme, čo sa stane.

Získame chybu, pretože premenná lokaleV je viditeľná iba vo vnútri lokaleFunkcia.

Kontrola chýb v konzole

Aby sme lepšie pochopili, prečo sa chyba vyskytuje, preskúmame kód v konzole. Pravým tlačidlom klikni a vyber položku „Preskúmať“, aby si otvoril DOM-explorer a konzolu na analýzu chyby.

Globálne a lokálne premenné v JavaScripte

Tam sa zobrazuje, že lokaleV je undefined. To posilňuje predpoklad, že premenná mimo svojej funkcie neexistuje.

Definovanie globálnej premennej

Teraz si vytvoríme globálnu premennú, ktorú môžeme použiť v oboch funkciách. Túto premennú nazveme globaleVariable a dáme jej jednoduchú textovú hodnotu.

Globálne a lokálne premenné v JavaScripte

Teraz je táto globálna premenná prístupná v oboch funkciách a výstup bude rovnaký. Otestujme to.

Globálne a lokálne premenné v JavaScripte

Definícia premenných a poradie volania

Je dôležité poznamenať, že poradie definovania premenných a funkcií je zásadné. Ak vytvoríš globálnu premennú pod jej použitím, povedie to k problému undefined.

To je spôsobené tým, že funkcia, ktorá potrebuje globálnu premennú, ju volá pred jej definíciou. Aby sa tomu predišlo, je rozumné definovať globálne premenné na vrchu kódu.

Viac o lokálnych premenných a ich použití

Teraz opäť vytvoríme lokálnu premennú v inej funkcii. Tu ju nazveme lokaleVariable a nastavíme jej hodnotu na 12.

Aj túto lokálnu premennú môžeme používať, ale iba vo vnútri jej vlastnej funkcie, nie v iných. Ak použiješ obe lokálne premenné, môže to zaisťovať trpezlivosť a poriadok vo tvojich programoch, v závislosti od zložitosti.

Zhrnutie konceptov

Teraz si pochopil základné koncepty o viditeľnosti a rozsahu premenných v JavaScript. Globálne premenné sú viditeľné pre všetky funkcie, zatiaľ čo lokálne premenné existujú iba vo vnútri svojej funkcie. Je rozumné definovať globálne premenné na jednom mieste v kóde, aby sa zlepšila čitateľnosť a údržba.

Zhrnutie – Viditeľnosť premenných v JavaScript

Na záver si sa naučil, že spôsob, akým definuješ premenné, má priamy vplyv na ich viditeľnosť a rozsah. Vždy si dávaj pozor, kam svoje premenné umiestňuješ, aby si sa vyhol chybám.

Často kladené otázky

Čo sú globálne premenné?Globálne premenné sú premenné, ktoré sú deklarované mimo funkcií a sú tak prístupné v celom skripte.

Čo sú lokálne premenné?Lokálne premenné sú premenné, ktoré sú vytvorené vo vnútri funkcie a sú viditeľné iba vo vnútri tejto funkcie.

Akým spôsobom môžem najlepšie využívať globálne premenné?Odporúča sa definovať globálne premenné na začiatku skriptu, aby sa zabezpečila jasná štruktúra a lepšia udržiavateľnosť.

Môžem používať lokálne premenné mimo ich funkcie?Nie, lokálne premenné sú viditeľné iba vo vnútri funkcie, v ktorej boli definované.

Akým spôsobom sa zaoberať chybami undefined?Dávaj pozor na poradie, v akom definuješ premenné a funkcie, aby si zabezpečil, že potrebné premenné sú definované pred ich použitím.