JavaScript je jazyk objektov², t°eba╛e nevyu╛φvß v╣echny mo╛nosti OOP. V praxi znamenß "objektovost" vlastn∞ jenom to, ╛e v╣echny vlastnosti a p°φkazy jsou uspo°ßdßny podle n∞jakΘho systΘmu.
Objektov² model je zp∙sob, jak pojmenovat jednotlivΘ prvky okna prohlφ╛eΦe a dokumentu, aby se s nimi dalo pracovat. Studium JavaScriptu je vlastn∞ studium jeho objektovΘho modelu; je t°eba se nauΦit, jak se kterΘ prvky prohlφ╛eΦe zapisujφ.
K adresovßnφ objekt∙ se pou╛φvß teΦkovß syntaxe objekt∙ (namφsto ╣ipek, jak je b∞╛nΘ v jin²ch
jazycφch). V∞t╣ina objekt∙ mß podobjekty nebo vlastnosti nebo metody; potom se to zapisuje objekt.podobjekt
,
objekt.vlastnost
nebo objekt.metoda()
.
P°edstavte si, ╛e chci zjistit, jakou barvu majφ tkaniΦky AniΦky NovßkovΘ, kterß chodφ do druhΘ A do 3. Z⌐ ve SlanΘm. Objektov∞ by se to (hypoteticky) napsalo takto:
Slan².3Z⌐.2A.NovakovßAniΦka.boty.tkaniΦky.barva
P°φklad:
window.history.back()
je zßpis p°φkazu, kter² funguje stejn∞ jako tlaΦφtko zp∞t v prohlφ╛eΦi. Objekt window mß podobjekt history.
History mß metodu back(). Je to metoda, proto╛e to n∞co d∞lß (vracφ historii).
Jin² p°φklad:
window.location.href = "http://dusan.pc-slany.cz";
naΦte do okna prohlφ╛eΦe mojφ domovskou strßnku. window je okno prohlφ╛eΦe, mß podobjekt location, kter² mß vlastnost
href (mimo jin²ch). Do tΘto vlastnosti se dß zapisovat (location sama o sob∞ nic ned∞lß) a tφm se mohou naΦφtat
strßnky.
Zßkladnφ ·skalφ prßce s JavaScriptem spoΦφvß v tom, ╛e objektovΘ modely jednotliv²ch prohlφ╛eΦ∙ se li╣φ.
N∞kterΘ objekty existujφ jenom v n∞kter²ch prohlφ╛eΦφch. Nap°φklad objekt window.document.all
existuje jenom v prohlφ╛eΦφch Internet Explorer 4 a vy╣╣φch. Netscape ani Mozilla tento objekt neznajφ, pokud se
s nφm setkajφ ve skriptu, hlßsφ chybu.
V praxi je tedy t°eba r∙zn²mi podmφnkami testovat verzi prohlφ╛eΦe a na zßklad∞ toho skript v∞tvit.
V dal╣φm v²kladu proberu zßkladnφ objektov² model, kter² pou╛φvajφ v╣echny prohlφ╛eΦe. Pokud uvedu nestandardnφ objekt, tak to zmφnφm.
P∙vodn∞ jsem cht∞l p°ehled objektovΘho modelu psßt podrobn∞ jako referenci. Nakonec jsem od toho ustoupil, proto╛e to nestφhßm. Sna╛φm se soust°edit na d∙le╛itΘ v∞ci.
P°edchozφ: Funkce | Obsah strßnek o JavaScriptu na serveru Jak psßt web | Dal╣φ: Objekt window |
Vizte tΘ╛: Zßklady syntaxe JavaScriptu |
o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek