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, on peut l'utiliser 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);
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);
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
Il
est ainsi 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 writeIn
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 entre les balises <PRE> et
</PRE> qui formattent le texte comme
dans un fichier texte (et donc qui prend en compte le
caractère de retour à la ligne).
Déifinir
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) {
Arbre.Type = Type;
Arbre.Taille = Taille;
Arbre.Age = Age;
Arbre.Proprietaire = Proprietaire;
Arbre.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