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.
Javascript umí přistupovat
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ří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 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 takových referencí jsou desítky. Raději se zaměřím na příklady. Bude to takové oddychové čtení.