Fonctions
Tutoriaux, Sommaire
JavaScript
Une fonction est un ensemble d'instructions pouvant être
appelé de n'importe quel endroit du programme. Une bonne façon d'écrire des
programmes consiste à les découper en un certain nombre de fonctions.
Exemple, choix d'un type de fruit, (chaque ligne représente
une fonction),
- Saisie de paramètres définissant le fruit
- Contrôle de validité, (avec appel à la fonction précédente si un des
paramètres n'est pas valide)
- Appel de pages internet suivant le fruit demandé par l'utilisateur
La deuxiéme ligne ci-dessus, (Contrôle de validité), nous
montre un des avantages des fonctions, c'est de pouvoir les réutiliser dans le
courant du programme. Ici on rappellera la saisie de paramètres tant que les
paramètres saisies ne sont pas tous corrects. Organigramme.
On peut aussi les réutiliser dans différend programmes.
Elle est définie par le mot clé function suivit du nom que
l'on donne à la fonction. Exemple,
function SaisieParam( ){
instructions
}
Le nom de la fonction est suivit de parenthèses. Entre ces
parenthéses on peut trouver des variables, ces variables sont optionnelles mais
les parenthéses doivent toujours être présentes.
Jusqu'ici, nous avons vu que les scripts, (programme écrit
entre les tags <Script>), étaient exécutés directement à l'ouverture
de la page. Ce n'est pas le cas pour les fonctions, il faut les appeller, comme
nous allons le voir.
Dans la forme ci-dessous nous avons une fonction Saisie()
cette fonction est tout à fait similaire au script
qui nous a permis de tester la réponse null de la boite prompt. Cette fonction
est appelée par la ligne,
Saisie()
Note : la ligne alert("Validation") remplace pour
l'instant l'appel à une fonction de vérification.
Exercice, exécuter la forme ci-dessous, avec des caratères
quelconques puis en appuyant sur annuller.
Exercice, supprimez la ligne, Saisie(),
(dernière ligne du script), et exécutez la forme. La fonction ne sera pas
appelée.
Nous allons rajouter une fonction Validation(), permettant de
vérifier si le nom des fruits est valides, (oranges,
pommes, bananes, cerises), nous pouvons nous inspirer de l'exercice sur le switch
où nous testions ces noms de fruits. Nous proposons dans ce script de remplacer
l'assignation message =, par un alert("NomdePage.htm") symbolisant
l'appel d'une page html. Dans l'organigramme suivant les fonctions
"Vérifications des paramètres" et "Appel de pages" sont
regroupées en une seule. Organigramme
En cliquant sur le lien suivant Corrigé
vous faites apparaitre. dans la forme ci-dessus le script corrigé. Vous pouvez
voir que dans la fonction Saisie() nous avons remplacé
alert("Validation") par l'appel de la nouvelle fonction Validation().
La fonction Validation() contient un swich dont les
cases contiennent un message symbolisant un appel de page, excepté le dernier
default qui édite un message d'avertissement, "Désolé nous ne
connaissons pas ce fruit", et rappelle la fonction saisie.
Exercice, faites fonctionner la forme ci-dessus, avec des
noms de fruits valides ou non.
Pour un nom de fruits non valide, vérifiez que l'on entre
dans une boucle rappellant toujours la saisie, jusqu'au moment ou l'on rentre un
nom de fruit valide ou que l'on appuit sur annuler.
Quand on charge une page html, nous avons la séquence
d'exécution suivante,
- Exécution des instructions javascript précédent le tag </head> et
non encloses dans une fonction, (elles peuvent appeler des fonctions
javascript)
- Exécution des instructions Html suivant le tag <body>
- Exécution des fonctions javascript sur événements, (appui sur un
bouton, etc...)
Les scripts que nous avons exécutés dans les pages
précédent celle-ci s'exécutaient immédiatement à l'ouverture de la page car
les instructions
n'étaient pas encloses dans des fonctions. Les scripts de cette page
s'exécutent aussi immédiatement parce qu'il y a une instruction non enclose
dans une fonction,
//Appel de la fonction saisie
Saisie()
Ceci permet de choisir entre les actions exécutées au
chargement de la page et celles qui répondront à des événement spécifiques.
Suite Fonctions et Variables