| PrécédentFonctions | Javascript: les méthodes associées aux objets | SuivantBoîtes de dialogue |
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() 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 :
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
Chaine='bonjour';
document.write('je vous passe le ' + Chaine);
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() 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).
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