Un programa JavaScript actua des de l'interior d'un document HTML; aquest document procedeix d'una adreça URL, és interpretat per un determinat navegador, el qual el col·loca en una finestra, mentre apareix un missatge a la barra d'estat. Tots aquests elements - el document, l'adreça, el navegador, la finestra, el missatge a la barra d'estat, i d'altres - constitueixen objectes.
També són objectes els elements interiors del document, delimitats per etiquetes, tant els de text com els inserits (com ara les imatges); en molts casos, els objectes són constituïts d'altres objectes menors: per exemple, un formulari és format de diversos camps.
Els objectes s'organitzen segons una especificació anomenada DOM (Document Object Model), definida pel W3C i seguida en bona part - però no totalment - pels diversos models de navegador.
Els objectes es denominen escrivint les denominacions dels objectes superiors fins arribar a l'objecte en qüestió, separats els noms per un punt.
1) Hi ha objectes de nivell superior: window (la finestra de l'ordinador), location (l'adreça d'un document), history (el registre de navegació de l'ordinador), navigator (el navegador)...
2) Immediatament inferior a window hi ha document, que representa el document present en la finestra. Per a indicar la dependència, el nom complet d'aquest objecte és
3) Els objectes i els elements denominats pel programador amb l'atribut name en l'àmbit de l'HTML es reconeixen en el JavaScript amb el nom donat. Així, si hem creat un formulari que té el nom dades i dins d'aquest hi ha un quadre de text anomenat cognoms, ens referirem a aquest darrer així:
4) Les imatges i els formularis i, dins d'aquests, els elements dels formularis, constitueixen automàticament sengles matrius d'elements homòlegs; els elements d'aquesta matriu queden numerats começant per 0 (!). Així podem fer referència a la tercera imatge d'un document amb l'especificació
5) En les denominacions anteriors es pot prescindir del terme window. Així les denominacions següents són equivalents a les dels punts anteriors:
6) Tot el material interior d'un document constitueix una sèrie d'objectes que poden ésser individualitzats amb la fórmula
Així,
indica el contingut del quart element <p>...</p>. Notem que en aquest cas prescindim de qualsevol objecte intermedi, com ara un DIV o un BLOCKQUOTE que hi pugui haver.
7) Els elements denominats pel programador amb l'atribut id es reconeixen mitjançant la referència
En aquest cas també es prescindeix dels objectes intermedis que hi pugui haver.
Els objectes més elementals poseeixen una sèrie de propietats. Les propietats també es designen amb un nom preestablert, que cal situar en l'extrem dret del nom de l'objecte, separat d'aquest també per un punt.
Per exemple, els documents tenen una propietat que és el color de fons, simbolitzada amb el terme bgColor.
Això dóna lloc a especificacions com les següents:
que s'interpreten com el color de fons del document, l'origen de la imatge, o el contingut de la casella cognoms, respectivament.
Hi ha propietats que són només de lectura, d'altres que només són d'escriptura i d'altres que admeten les dues possibilitats. Amb la lectura del valor d'una propietat, podem condicionar l'execució d'un programa de JavaScript; amb l'escriptura d'un valor nou per a una propietat, en podem modificar el comportament i l'aspecte. Per exemple, podem llegir la propietat lastModified (data de la darrera modificació del document) i fer servir aquesta data per donar unes especificacions d'estil diferents al document.
L'objecte document té diverses propietats. A continuació presentem les denominacions d'algunes. La denominació completa comença per l'objecte window, però, com hem dit, aquest terme generalment s'omet.
| Color de fons | document.bgColor | |
| Color del text i dels hipervincles | document.fgColor | Color del text |
| document.linkColor | Color dels hipervincles | |
| document.alinkColor | Color de l'hipervincle actiu | |
| document.vlinkColor | Color de l'hipervincle visitat | |
| Altres | document.title | Títol del document |
| document.lastModified | Data de la darrera modificació del document | |
| Origen | location.protocol | http, ftp, mailto... |
| location.hostname | adreça del host | |
| location.pathname | adreça del document dins el host |
Exemple
Exemple
El objectes interiors del document tenen una sèrie propietats, entre les quals destquen les següents:
| Elements amb text | .innerText | Text contingut (només Explorer i afins) |
| .textContent | Text contingut (només Mozilla i afins) | |
| Elements amb estil | .style.atribut | Especificació de l'estil |
| Imatges | .src | Origen de la imatge |
| Formularis | .value | Contingut textual d'un camp |
| .checked | Opció seleccionada | |
| .selectedIndex | Opció seleccionada |
Aquesta informació s'ampliarà en els temes posteriors corresponents.
Les denominacions corresponents a les propietats dels objectes poden formar part d'una instrucció d'assignació, amb la mateixa sintaxi vista per a les variables. Com sempre, si les situem a la dreta del signe igual, en transferirem el valor a la variable que hi hagi a l'esquerra: per dir-ho així, fem la lectura de la propietat. En canvi, si les situem a l'esquerra faran de receptor del valor indicat a la dreta: hi escrivim, doncs, la nova propietat desitjada.
Exemple