5. Objectes i propietats

 

Índex

Concepte d'objecte

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.

 

Organització i identificació dels objectes

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.

 

Propietats i valors

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.

 

Les propietats del 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.href adreça completa
location.hostname adreça del host
location.pathname adreça del document dins el host
Exemple
Exemple

 

Propietats dels objectes interiors del document

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 propietats dels objectes en les instruccions d'assignació

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