Les méthodes
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));
Il est notamment possible d'utiliser des balises
HTML à l'intérieur même de la
méthode
write :
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.
Ce
document intitulé «Javascript - Les méthodes» 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.