JavaScript – názvy proměnných
Interval.cz přinesl již článek úvod do proměnných, který přinesl naprosté základy o proměnných v JavaScriptu. Tento článek navazuje jmény proměnných a související problematikou. Tento článek je určen zejména pro začátečníky, ale může přinést informace i středně pokročilým v JavaScriptu.
Jak vytvořit správně název proměnné
Mnozí z vás si možná řeknou, co vlastně je možné na jménech proměnných vymyslet. Proč vlastně věnovat tomuto tématu celý samostatný článek? Zkrátka proto, že problematika názvů jmen skrývá dost zajímavých zákoutí, abychom si s ní mohli pohrát. Navíc je tato oblast podceňována a mnoho lidí zde trochu tápe.
Začněme tím, jaké vlastně musí být jméno proměnné. Jméno totiž nemůže zvolit ledajaké, jsou na něj kladena některá omezení. Mnoho čtenářů Intervalu mi píše o pomoc s nechodícím JavaScriptem právě díky špatně zvolenému jménu proměnné. Takže pro pojmenování smíte použít pouze znaky anglické abecedy, číslice, speciální znak podtržítko _ a nic jiného. Název proměnné tedy nesmí obsahovat mezeru, pomlčku, ani žádné české písmeno s háčkem, nebo čárkou. Další omezení je, že název nesmí začínat číslicí.
Zde je příklad správně i špatně vytvořených názvů proměnných: Správně je třeba ahoj, x123, pocet_oken, _stul, rada32. Špatné a nepřípustné názvy jsou třeba 1rada (název nesmí začínat číslicí), počet (název nemůže obsahovat č, protože není v anglické abecedě). Je potřeba si uvědomit, že ne vždy vás JavaScript upozorní na chybu ve špatném názvu proměnné. Například pokud proměnnou pojmenujete třeba a%3, je dost pravděpodobné, že JavaScript se bude tvářit spokojeně až na to, že vše bude pracovat jinak, než má.
Dále je potřeba vědět, že JavaScript je, jak se říká „case sensitive“. Znamená to, že je citlivý na velká a malá písmena v názvech proměnných. Proměnné ahoj a Ahoj považuje za dvě různé proměnné. Pozor na to, můžete zde snadno udělat chybu, pokud se překlepnete.
Globální a lokální proměnné
Do této chvíle jsem tvrdil, že každá proměnná, která představuje jakýsi šuplík na nějakou hodnotu, je jednoznačně určena svým jménem. Tedy, pokud vytvořím proměnnou s názvem ahoj a uložím do ní nějakou hodnotu, potom mohu tuto hodnotu kdykoli znovu přečíst tím, že se zeptám, co je uloženo v proměnné ahoj.
Prakticky ve valné většině případů můžete spoléhat na jednoznačnost jména proměnné. Ale JavaScript má „více hromad“, kam si ukládá proměnné, a každá taková „hromada“ si spravuje svoje názvy proměnných.
Tyto „hromady“, na které se ukládají proměnné, se od sebe vzájemně odlišují ve více aspektech. Některé spravují velkou spoustu proměnných, jiné jenom pár. Některé existují trvale, zatímco jiné mají doslova jepičí život a existují jenom na chvilku. Dále se liší také tím, komu je dovoleno s „hromadou“ pracovat.
Jaké tedy existují „hromady“ na ukládání proměnných v JavaScriptu? Nejzákladnější „hromadou“ je místo, kde se ukládají tzv. globální proměnné. Globální proměnné jsou takové, které existují po celou dobu prohlížení HTML stránky. S globálními proměnnými může pracovat jakákoli část JavaScriptu. Krátce řečeno, jsou všude vidět, všem k dispozici a existují trvale, přesněji, tak dlouho, dokud je stránka natáhnutá v prohlížeči.
Naproti tomu existují také tzv. lokální proměnné. Tímto názvem se označují proměnné, které nejsou k dispozici všem částem JavaScriptu v HTML stránce, ale jenom malému kousku JavaScriptu. Stejně tak lokální proměnné většinou přežijí jenom po krátký čas, pak zanikají.
Jak se od sebe liší globální a lokální proměnné? Jak poznáme, jestli naše proměnná patří do prvního, nebo druhého druhu? Je nutné se podívat, kde daná proměnná byla vytvořena. Pokud byla vytvořena uvnitř nějaké funkce (funkce začíná slovem function), jedná se o lokální proměnnou. Pokud mimo funkci, jde o globální proměnnou:
|
Na výše uvedeném příkladě je v komentářích názorně uvedeno, jak se pozná globální a lokální proměnná. Jak je naznačeno, globální proměnné je možné vypsat kdekoli, jak uvnitř funkce, tak i mimo. Zatímco lokální proměnná nemá smysl mimo funkci, kde vznikla. Lokální proměnná automaticky zaniká přesně ke konci funkce, kde byla založena.
Rozdělení proměnných na globální a lokální má svůj důsledek také na pojmenovávání proměnných. Každá z těchto „hromad“ má svůj prostor pro jména. Tedy může existovat globální proměnná nazvaná třeba x a lokální proměnná nazvaná také x, a přitom jsou to dvě různé proměnné! Lze to vyzkoušet třeba zde:
|
Pokus si výše uvedený příklad spustíte, zjistíte, že proměnná x uvnitř funkce vypisuje hodnotu 3 a proměnná x mimo funkci vypisuje hodnotu 1. Jsou to dvě různé, na sobě nezávislé proměnné, které mají sice stejné jméno, ale každá leží na jiné „hromadě“.
A to je pro dnešek vše.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Od iPhonu po Android: Ultra HDR přináší nový standard fotografií
1. listopadu 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Vlastní web pomocí AI už může vytvořit opravdu každý
8. srpna 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024