JavaScript je jazyk objektový, třebaže nevyužívá všechny možnosti OOP. V praxi často znamená "objektovost" javascriptu 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 objektového modelu prohlížeče a dokumentu; je třeba se naučit, jak se které prvky zapisují.
K adresování objektů se používá tečková syntaxe objektů (v jiných jazycích se
používají šipky ->). 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 = "https://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 roce 2003 se definitivně prosadily modernější prohlížeče, které docela solidně podporují DOM (Document Object Model), a tak se již dají psát skripty univerzálněji.
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.
Jak psát web píše Yuhů, Dušan Janovský. Kontakt.