Változók a JavaScript nyelvben alapvető fontosságúak az adatok tárolásához és feldolgozásához. Fontos megérteni, hol érvényesek ezek a változók, és mely kódrészletekhez férhetnek hozzá. A különböző típusú változók – globális és helyi – figyelembevételével alapvető jelentőségű a „scope” (láthatósági terület) megértése. Lépjünk be tehát, és nézzük meg, mit is takarnak a globális és helyi változók.
Legfontosabb megállapítások
- A globális változók a kód minden részén elérhetők, míg a helyi változók csak a saját funkciójukon belül láthatók.
- Ha egy változót a funkción kívül definiálsz, az globális lesz, míg ha egy funkción belül, az helyi lesz.
- A kód tiszta és karbantartási szempontból előnyös struktúrája érdekében érdemes a globális változókat a szkript elején deklarálni.
Lépésről lépésre útmutató
Változók definiálása és láthatóságuk
Az első lépésben megnézzük, hogyan hozhatsz létre egy változót, és hogy mit jelent a láthatósága. Ha egy változót a funkción kívül deklarálsz, ahogyan az alábbi példában látható, az globális lesz.

Itt létrehozunk egy globális változót, amelynek neve meineVariable.
Helyi változókat tartalmazó funkciók létrehozása
Következő lépésben két funkciót hozunk létre. Az egyik funkciót lokálisFunkciónak nevezzük, ahol létrehozunk egy helyi változót. Ez a változó csak a funkció belsejében látható. Definiáljuk a funkciónkat.
A lokálisFunkcióban létrehozol egy helyi változót helyiV néven, amelynek értéke 5, és kiadod.
Funkciók meghívása
Most szeretnénk meghívni a lokálisFunkciót, hogy kiadjuk az 5-öt. Miután a kódban meghívtuk a funkciót, a kimenet a következőképpen néz ki:
A helyi változó láthatóságának tesztelése
Most próbáljuk meg használni a helyi változót helyiV egy másik funkcióban. Meg fogod látni, hogy ez nem működik. Kérjük, végezzünk el egy hívást az másikFunkcióra, és nézzük meg, mi történik.
Hibát kapunk, mert a változó helyiV csak a lokálisFunkción belül látható.
Hibák ellenőrzése a konzolon
Ahhoz, hogy jobban megértsük, miért lép fel a hiba, vizsgáljuk meg a kódot a konzolon. Jobb gombbal kattintva és az "Ellenőrzés" kiválasztásával megnyithatod a DOM-keresőt és a konzolt, hogy elemezd a hibát.

Itt látható, hogy a helyiV undefined. Ez megerősíti, hogy a változó nem létezik a funkción kívül.
Globális változó definiálása
Most létrehozunk egy globális változót, amelyet mindkét funkcióban használhatunk. Ezt a változót globálisVáltozónak nevezzük, és egy egyszerű szöveget adunk meg neki.

Most ez a globális változó mindkét funkcióban használható, és a kimenet azonos lesz. Nézzük meg ezt.

Változók definíciója és meghívási sorrendje
Fontos megjegyezni, hogy a változók és funkciók definíciójának sorrendje döntő jelentőségű. Ha egy globális változót a használata alatt definiálsz, az undefined problémához vezet.
Ez azért van, mert a funkció, amely a globális változóra szüksége van, azt a definíciója előtt hívja meg. Ennek elkerülésére érdemes globális változókat a kód tetején definiálni.
Több a helyi változókról és használatukról
Most egy másik funkcióban ismét létrehozunk egy helyi változót. Ezt helyiVáltozónak nevezzük, és az értékét 12-re állítjuk.
Ez a helyi változó is használható, de csak a saját funkcióján belül, nem más funkciókban. Ha mindkét helyi változót használod, az esetleg türelmet és rendet hozhat a programjaidba, a bonyolultságtól függően.
A koncepciók összegzése
Összefoglalás – A változók láthatósága a JavaScript nyelvben
Összefoglalva megtanultad, hogy a változók definiálásának módja közvetlen hatással van a láthatóságukra és hatókörükre. Mindig ügyelj arra, hová helyezed a változóidat, hogy elkerüld a hibákat.
Gyakran ismételt kérdések
Mik azok a globális változók?A globális változók azok a változók, amelyeket funkciókon kívül deklarálnak, így a teljes szkripten belül elérhetők.
Mik azok a helyi változók?A helyi változók azok a változók, amelyeket egy funkción belül hoznak létre, és csak ezen a funkción belül láthatók.
Hogyan használhatom a globális változókat a legjobban?Érdemes a globális változókat a szkript elején definiálni, hogy a struktúra világos és a karbantartás könnyebb legyen.
Használhatom a helyi változókat a funkciójukon kívül?Nem, a helyi változók csak abban a funkcióban láthatók, amelyben definiálták őket.
Hogyan kezeljem az undefined hibákat?Ügyelj az változók és funkciók definíciójának sorrendjére, hogy biztosan a szükséges változók a használatuk előtt legyenek definiálva.