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.