Javascript: les méthodes associées aux objets
Qu'appelle-t-on une méthode?
Une méthode est une fonction associée à un objet, c'est-à-dire une action que l'on peut faire exécuter à un objet. Les méthodes des objets du navigateur sont des fonctions définies à l'avance par les normes HTML, on ne peut donc pas les modifier, il est toutefois possible de créer une méthode personnelle pour un objet que l'on a créé soi-même. Prenons par exemple une page HTML, elle est composée d'un objet appelé document. L'objet document a par exemple la méthode write() qui lui est associée et qui permet de modifier le contenu de la page HTML en affichant du texte. Une méthode s'appelle un peu comme une propriété, c'est-à-dire de la manière suivante :
window.objet1.objet2.methode()
Dans le cas de la méthode write(), l'appel se fait comme suit :
window.document.write()
La méthode write
La méthode write() de l'objet document permet de modifier de façon dynamique le contenu d'une page HTML. Voici la syntaxe de la méthode write() :
window.document.write(expression1, expression2, ...)
Cette méthode permet d'écrire le résultat des expressions passées en paramètre dans le document dans lequel elle est utilisée. Il est ainsi possible d'uttiliser la méthode write() de différentes façons :
- soit en passant directement le texte en paramètres :
document.write("bonjour");
qui aura pour effet de concaténer la chaîne 'bonjour' à l'endroit où est placé le script - soit en passant le texte par l'intermédiaire d'une variable :
Chaine='bonjour'; document.write(Chaine);
Ce qui aura pour effet de concaténer la chaîne 'bonjour' (contenue dans la variable Chaine)à l'endroit où est placé le script - soit en utilisant les deux :
Chaine='bonjour'; document.write('je vous passe le ' + Chaine);
Ce qui aura pour effet de concaténer la chaîne 'bonjour' (contenue dans la variable Chaine) à la suite de la chaîne de caractère 'je vous passe le' dans la page HTML - soit en insérant directement une expression, qui sera évaluée dans un premier temps
et dont le résultat sera ensuite affiché:
Chaine='La racine carrée de 2 vaut : '; document.write(Chaine+Math.sqrt(2));
document.write('<font color="#FF0000">Bonjour</font>');
La méthode writeln
La méthode writeln() fonctionne exactement comme la méthode write()
à la seule différence qu'elle ajoute un retour chariot à la fin de la chaîne.
Or un retour chariot (en HTML) est ignoré par le navigateur (Rappel: un retour à la ligne
se fait avec la balise <BR>). Cette méthode n'a donc un avantage que lorsqu'elle
est utilisée dans des éléments HTML sensibles aux retours à la ligne,
par exemple entre les balises <PRE> et </PRE> qui formattent le texte comme
dans un fichier texte (et qui prend donc en compte les retours à la ligne).
Définir une méthode pour un objet
Il est possible de définir une méthode pour un type d'objet que l'on a créé en incluant une fonction en tant que propriété d'un objet. Reprenons l'exemple de l'arbre :
On définit tout d'abord un propriétaire :
function Proprietaire(Nom, Prenom) { Proprietaire.Nom = Nom; Proprietaire.Prenom = Prenom; }
Puis on crée une fonction qui affiche le nom du propriétaire d'un arbre ainsi que quelques caractéristiques de celui-ci :
function AfficheInfos() { alert(this.Proprietaire.Prenom + this.Proprietaire.Nom + 'possede un' + this.Type); }
Il suffit maintenant de définir l'objet Arbre comme suit :
function Arbre(Type, Taille, Age, Proprietaire, AfficheInfos) { this.Type = Type; this.Taille = Taille; this.Age = Age; this.Proprietaire = Proprietaire; this.AfficheInfos = AfficheInfos; }
Le fait de taper Arbre1.AfficheInfos() aura pour effet de produire un message d'alerte du type :
René Dupont possède un tilleul
Car la méthode AfficheInfos() est appliquée à l'objet Arbre1.