![]() L'objecte més alt de la jerarquia és window. És tot el que hi ha a la finestra. Quan ens referim a la pantalla, navegador, marcs, adreça o historial, ho fem a partir de l'objecte window. L'altre objecte important és document, l'amo de tots els elements de la pàgina: cos, paràgrafs, enllaços, formularis, imatges, estils, scripts, ... Un objecte és una estructura que conté dades assignades a variables, que anomenem propietats, i unes funcions que manipulen aquestes variables, i que s'anomenen mètodes. A partir d'aquesta estructura es crea la programació orientada a objectes, basada en l'herència de propietats i mètodes, i en el polimorfisme, que fa que les variables i funcions semblants d'objectes diferents puguin tenir el mateix nom. Java i C++ són llenguatges orientats a objectes, el JavaScript també ho és, tot i que més simplificat i flexible. No cal que ens preocupem, de moment, pels conceptes d'herència i polimorfisme. En JavaScript, l'única herència és "formar part de", és a dir, el document forma part de la finestra, un formulari forma part del document i un camp de text forma part del formulari. Ens podem referir a qualsevol propietat d'un objecte utilitzant la sintaxi del punt, que ja hem vist: f i n e s t r a . d o c u m e n t . f o r m u l a r i . c a m p . v a l u e Pel que fa al polimorfisme, usar els mateixos noms per a propietats i mètodes similars en objectes diferents, només ens farà la programació més fàcil. Window, document i tots els seus derivats no són els únics objectes que maneja JavaScript. N'hem vist d'altres, com ara Array, Math o String. De fet, tota l'estructura en basa en object, la "primitiva" que permet derivar els altres. Aleshores, quina és la diferència? Podríem dir que hi ha dos grups o classes d'objectes: d'una banda, aquells que fan funcions internes del llenguatge, no tenen una representació a la pàgina i s'han de crear amb la declaració new(). D'altra banda, els objectes del DOM, que es corresponen amb elements de la pàgina i s'han de crear... amb HTML. També és cert que podem crear objectes DOM des de JavaScript, per exemple, ja hem utilitzat window.open(). En la majoria dels casos, però, ja són a la pàgina i JavaScript només els maneja. |
|
Conceptes JavaScript en aquest capítol | |
![]() |
La llista d'objectes, propietats i mètodes del DOM
depèn del navegador. Tot i així, hi ha uns estàndards
més o menys acceptats que funcionen en la majoria dels casos. Aquest capítol és més teòric que no pas pràctic, de manera que hi ha molts conceptes. No hi són tots, i l'explicació de cadascun és molt breu. Presentar el DOM com cal requeriria tot un manual, així que, li farem una ullada i l'anirem coneixent millor la resta del curs. |