Objektový model

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í.

Zápis

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().

Praštěný příklad

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

Trocha terminologie

Metoda
objekt.metoda() je sama o sobě příkazem, který něco dělá. Má za sebou závorky
Vlastnost
objekt.vlastnost nic nedělá, ale má hodnotu. Hodnota se dá číst nebo zapisovat, některé vlastnosti jsou jen pro čtení, některé jen pro zápis
Podobjekt
objekt.podobjekt může mít další metody, vlastnosti a podobjekty. (V literatuře se podobjekt považuje také za vlastnost.)

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.

Javascript umí přistupovat

Nekompatibilita prohlížečů

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řehled objektů

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íše Yuhů
dusan@pc-slany.cz
mail formulářem
Jak psát web O tvorbě, údržbě a zlepšování internetových stránek.

Základy HTML CSS FrontPage JavaScript

Javascript

Úvod

Základy

První skript v HTML

Proměnné

Hlášky

Začlenění do stránky

Praktické použití

Syntaxe

Základy syntaxe

Operátory

Větvení

Funkce

Objektový model

Objektový model

Objekt window

Metody objektu window

Objekt event

Časování, intervaly

Objekt document

Adresování prvků dokumentu

Objekt String

Zabudované funkce

Události

Použití objektů

Nové okno

Zrušení odesílání formuláře

Hledání


Rozšířené

JavaScript na serveru Jak psát web http://dusan.pc-slany.cz/internet/html/

Píše Yuhů: autorova stránka, mail: dusan@pc-slany.cz