Javascript - La notion d'objet

Décembre 2016

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)



A voir également :

Ce document intitulé «  Javascript - La notion d'objet  » issu de CommentCaMarche (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.