Les fonctions
1. Définitions
Une fonction contient un code qui s'exécute soit le déclanchement
d'un évenement, ou un simple appel de cette fonction.
Une fonction peut 'eatre prédéfinie ou programmée. Elle peut 'eatre ecrite sans
arguments ou avec arguments. Elle peut retourner une valeur, ou simplement 'eatre
du type "void".
Une fonction peut 'eatre définie soit dans la tie <head> ou la tie <body>
du document, et est appelée de tout dans une page, et m'eame de l'exterieur si elle ecrite dans un_fichier.js.
Lorsqu'un navigateur charge une page, il "lit" la fonction, mais ne l'exécute pas. Mais
pour 'eatre s'fbr que le navigateur a "lu" et "chargé" la fonction, on la palce dans la tie
<head>.
La sytaxe est la suivante:
function nom_fontion(var1, var2, ..., varn)
{
le code va ici ...
}
Remarquer la présence obligatoire des eth'e8ses et des accolades.
Exemple
<html>
<head>
<script type="text/javascript">
function bonjour()// Sans arguments
{
confirm("Bonjour tout le monde!");
}
</script>
</head>
<body>
bonjour();//Lafonction est appelée
</body>
</html>
L'instruction confirm("Bonjour tout le monde!"); aurait été éxécutée lors du chargement de la page
si elle n'était mise dans la fonction. Cette fonction ne sera éxécutée que un appel; c'est ce qui été
fait dans la tie <body>.
Cette fonction a étét exécuté un appel. Elle peut 'eatre exécutée un evenement. Par exemple
l'evenement onclick, comme suit:
2. Exemples
1. fonction somme:
function somme(var1,var2) //var1, var2 sont les variables à passer à la fonction.
{
sum = var1 + var2;
return sum;//La fonction retournera cette valeur
}
Pour apper cette fonction, deux am'e8tres à lui passer sont requis. L,appel:
somme(2,3);
retournera la valeur 5.
Pour l'afficher, on proc'e8de de la fa'e7on suivante:
On affecte le résulat à une variable, puis on l'affiche:
sum = somme(2,3);
document.write(sum);
Remarquer que la variable "sum" utilisée dans la fonction somme(var1,var2) est réutilisée
à l'exterieur de cette fonction, et cel'e4 sans aucune confusion ce que cette variable "sum"
à l'inérieur de la fonction est locale. à l'extérieur de cette fonction, cette variable n'est
pas reconnue.
Si l'on déclare une variable à l'extérieur des fonctions, toutes ces fontions peuvent accéder à cette
variable.
2. fontion max
Voici une autre fonction qui retourne le plus grand de deux nombres passés à la fonction:
function max(x,y)
{
if (x<y)
{
max = y;
}
else
{
max = x;}
}
return max;
}
Ou bien:
function max(x,y)
{
if (x<y){
return y;
}
else{
return x;
}
}
3. Testez vos connaisances
1. On appelle une fonction à tir de la tie <head> du
document. Cette proposision est-elle vraie?
2.
La fonction:
Function addition(a,b)
{
return (a+b);
}
Est-elle correcte?
3.
Appeler la fonction suivante:
function divison(a/b)
{
return (a/b);
}
avec division(33,11);
Puis avec division(4,0);
Que faut-il faire pour éviter cette division zéro? Réecrire la fonction en y incluant
un script de test avec if.
4. Insérez le code suivat dans un fichier:
function multiplication(a,b)
{
return (a*b);
}
Sauver ce fichier comme multiple.js, dans le m'eame répértoire de travail.
Dans ce m'eame répertoire, ouvrer un fichier et insérer le programme suivant:
<html>
<head>
<script type="text/javascript" src="multiple.js"></script>
</head>
<body>
<form>
<input type="button" value="Clickez ici!" onclick="multiplication(12,10)" >
</form>
</body>
</html>
Sauver ce fichier comme multiplication.html. Retourner au répértoire de travail et
double-clicker sur multiplication.html.
Clickez sur le boutton et commenter.
|