Approche objet

Pourquoi parle-t'on d'objets?

Le but de cette section n'a pas pour ambition de vous faire connaître la programmation orientée objet (POO) mais de vous donner une idée de ce qu'est un objet, concept nécessaire à la création de scripts Javascript.

Le Javascript traite les éléments qui s'affichent dans votre navigateur comme des objets, c'est-à-dire des éléments


Cette notion semble floue pour l'instant mais voyons voir cela sur un exemple concret:
Imaginez un arbre dans un jardin comportant une branche sur laquelle se trouve un nid. On suppose la hiérarchie d'objets est définie comme ceci: Le nid sur l'arbre est donc désigné comme suit:
jardin.arbre.branche.nid
Contrairement au nid situé sur la balançoire:
balançoire.nid

Imaginez maintenant que l'on veuille changer la couleur du nid (dans l'arbre) pour le peindre en vert, il suffirait de taper une commande du genre:
jardin.arbre.branche.nid.couleur= bleu;

C'est donc ainsi que l'on représente les objets en Javascript, à la seule différence que ce n'est pas un jardin qui est représenté sous forme d'objets mais la fenêtre de votre navigateur...

Les objets du navigateur

Javascript divise la page du navigateur en objets, afin de vous permettre d'accèder à n'importe lequel d'entre-eux et de pouvoir les manipuler par l'intermédiaire de leurs propriétés.

On commence généralement par l'objet le plus grand (celui contenant tous les autres) puis on descend dans la hiérarchie jusqu'à arriver à l'objet voulu!

Pour accéder à un objet il faut donc partir de l'objet le plus grand (l'objet window pour descendre à l'objet que l'on veut atteindre.
Prenez par exemple le bouton (appelé checkbox) et le champ de texte suivants:



Le bouton checkbox a entre autre une propriété checked, qui retourne la valeur 1 si le bouton est coché, 0 dans le cas contraire. Cliquez sur le bouton checkbox pour comprendre ce qu'il est possible de faire grâce à ces propriétés.

Le champ de texte a par exemple comme propriétés:


Par exemple, l'appui sur les boutons suivants permet de modifier la propriété suivante: window.document.forms[0].text.value (c'est-à-dire le texte associé au champ de texte que l'on a nommé champ_text)