Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Javascript a oblast působnosti proměnných - díl první

Michal Augustýn
7. 8. 2009 9:07

Re: Javascript a oblast působnosti proměnných - díl první

Velmi pěkný článek. Jen bych si dovolil malou poznámku k této větě: „Pokud je proměnná deklarována na nejvyšší úrovni, tedy přímo v dokumentu, mimo tělo nějaké funkce, stává se tímto okamžikem proměnnou globální a je dostupná z kteréhokoli místa kódu.“.

Použití slova „dokument“ považuji za velmi nešťastné. V JavaScriptu je tou nejvyšší úrovní globální objekt. Co je tím globálním objektem pak už záleží na konkrétním nasazení JavaScriptu. Pokud se máme bavit o prohlížečích, tak to je objekt „window“, nikoliv „document“. Zkuste si „alert(this === window);“ a „alert(this === document);“.

Daniel Steigerwald
Daniel Steigerwald (neregistrovaný) ---.67.broadband2.iol.cz
7. 8. 2009 13:30

Re: Javascript a oblast působnosti proměnných - díl první

Jen bych dodal, že „mimo tělo nějaké funkce“ je rovněž nešťastná formulace, jakoby globální proměnná nešla definovat přiřazením na globální objekt, např. window.iamGlobal = true;

Petr Staníček aura:83
7. 8. 2009 14:12

Re: Javascript a oblast působnosti proměnných - díl první

Máte pochopitelně pravdu, ony se někdy holt srozumitelnost pro začátečníky a exaktní přesnost pro odborníky trochu tlučou. Z hlediska příležitostného programátora je „globální objekt“ a „úroveň HTML dokumentu“ totéž a do této míry jsem komplikovat ty věci už opravdu nechtěl. Ale asi by stálo za zvážení doplnit ještě kapitolku o vazbě mezi globálními proměnnými a objektem window a nebezpečí předefinování jejích vlastností a metod.

Daniel Steigerwald
Daniel Steigerwald (neregistrovaný) ---.67.broadband2.iol.cz
7. 8. 2009 20:16

Re: Javascript a oblast působnosti proměnných - díl první

Ježíš Pixy, přestaň používat zavádějící zmatečnou kvaziterminologii, vycházející s podivných překladů DOM pojmů, jejichž význam článek navíc ne zcela jasně objasňuje. :)

Co to proboha je „úroveň HTML dokumentu“? Chvíli sem si lámal hlavu, než sem přišel na to odkud vítr vane… Patrně půjde o script ve stránce? A co když je script externí? Dle tvé logiky by šlo o „úroveň externího souboru“ ;)

Vřele doporučuji používat anglické pojmy, z českým překladem v závorce. Chudák začátečník, poté co překoná tvých x kapitol věnovaných varu, deklaraci a jejich romantickému vztahu k objektu window, bude totálně zmaten, až se začte například do https://develo­per.mozilla.or­g/en/Core_JavaS­cript1.5_Refe­rence, neb zpětným překladem se správného termínu nedobere. Chápu, že sis potřeboval někam sesumarizovat svoje zkušenosti s javascriptem, ale nevím jestli je zdroják vhodné místo ;)

Tvrdit, že anonymní funkce se nedá použít v rekurzi prozrazuje hlubokou neznalost javascriptu.

KLoK
KLoK (neregistrovaný) ---.kve.cz
7. 8. 2009 23:18

Re: Javascript a oblast působnosti proměnných - díl první

Clovece, nechcete jit zakum pate tridy vysvetlovat, ze soucet uhlu trojuhelniku je pravdepodobne 180 stupnu? Tedy za predpokladu, ze je nakreslen v euklidovske rovine a ze to muze byt take o neco vic nebo min v zavislosti na prostoru ve kterem se pohybujem.

Ja jsem presel k webovym aplikacim z jazyka C, odkud si clovek prinasi urcite navyky ktere nejsou ke skode. Napr. deklarace promenych pred prvnim pouzitim. Z JS pouzivam vyhradne jQuery a jeho rozsireni. Diky tomu jsem na problemy popisovane p. Stanickem zatim nemel to „stesti“ narazit.

A diky za takovy clanek, ktery naprosto srozumitelnou formou osvetli, ze muze k takovemu problemu dojit a hlavne za vysvetleni co ho muze zpusobit.

Zasílat nově přidané příspěvky e-mailem