Notion d'objet
Notion d'objet
Le but de cette section n'a pas pour ambition
de traîter de la programmation
orientée objet mais de 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 :
- classés selon une hiérarchie pour pouvoir les
désigner précisément ;
- auxquels des propriétés sont associées.
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 :
- jardin
- arbre
- branche
- feuille
- nid
- largeur: 20
- couleur: jaune
- hauteur: 4
- tronc
- racine
- salade
- balançoire
- trapèze
- corde
- nid
- largeur: 15
- couleur: marron
- hauteur: 6
Le nid sur l'arbre est donc désigné comme suit :
jardin.arbre.branche.nid
Contrairement au nid situé sur la balançoire :
jardin.balançoire.nid
Pour changer la couleur du nid (dans l'arbre) et le peindre
en vert, il suffit d'une commande telle que la suivante :
jardin.arbre.branche.nid.couleur= vert;
Les objets en Javascript sont représentés de cette manière à ceci
près que ce n'est pas un jardin qui est représenté sous forme d'objets mais
la fenêtre du navigateur.
Les objets du navigateur
Javascript divise la page du navigateur en objets, afin de
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.
- L'objet le plus grand est l'objet fenêtre (les objets en javascript
ont leur dénomination en anglais, donc dans le cas présent window)
- Dans la fenêtre s'affiche une page, c'est l'objet document
- Cette page peut contenir plusieurs objets, comme des formulaires, des images,
etc.
Pour accéder à un objet il est donc nécessaire de parcourir
l'arborescence en partant de l'objet le plus grand (l'objet
window)
vers l'objet à atteindre.
Soient le bouton (appelé
checkbox) et le champ de texte suivants :
- Le formulaire (baptisé form1 pour le distinguer des autres
formulaires de la page) est repéré par le code suivant :
window.document.forms["form1"]
- Le bouton checkbox (baptisé checkbox) est repéré par
le code suivant :
window.document.forms["form1"].checkbox
- Le champ de texte (appelé champ_text) est repéré par
le code suivant :
window.document.forms["form1"].champ_text
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.
Ainsi le formulaire form1 a comme code HTML :
<form name="form1">
<br><input type="checkbox" name="checkbox" onClick="ModifChamp();return true;">
<br><input type='TEXT' name='champ_text' value='Essai du javascript' size='24'></form>
La fonction javascript associée au bouton checkbox est
la suivante :
<script language="Javascript">
<!--
function ModifChamp()
{
if (document.forms["form1"].checkbox.checked)
{
document.forms["form1"].champ_text.value='Bouton coché'
}
else
{
document.forms["form1"].champ_text.value='bouton non coché'
}
}
//-->
</script>
Le champ de texte a par exemple comme propriétés :
- name: le nom du champ de texte
- value: le texte contenu dans le champ
- size: la taille du champ de texte
L'appui sur les boutons suivants permet de modifier la propriété
window.document.forms["form2"].champ_text.value,
c'est-à-dire le texte associé au champ de texte nommé « champ_text » dans
le formulaire ci-dessous nommé
form2)
Ce
document intitulé «Javascript - Notion d'objet» issu
de l'encyclopédie
informatique Comment Ça Marche (www.commentcamarche.net)
est mis à disposition sous les termes de la licence Creative
Commons. Vous pouvez copier, modifier des copies de cette page,
dans les conditions fixées par la licence, tant que cette
note apparaît clairement.