Les fonctions
Une fonction, une fois qu'elle est déclarée, permet d'exécuter plusieurs fois le même code sans devoir le retaper à chaque fois.
Voici la syntaxe d'une fonction:

function nom_de_la_fonction(argument(s)){
...liste d'instructions...
}

Une fonction est toujours déclarée par le mot-clé "function", suit le nom de la fonction et, entre parenthèses, la liste des arguments.

Qu'est-ce qu'un argument d'une fonction?

Un argument est une valeur que l'on "donne" à la fonction pour qu'elle puisse travailler dessus.

Voici un exemple de fonction qui va vous permettre de mettre des nombre au cube:

function cube(valeur){
var cube = valeur*valeur*valeur;
return cube;
}
document.write(cube(2)+'<br />');
document.write(cube(81/32));

Voici le résultat:
Exemple JS
Cette petite fonction vous aura évité de devoir retaper tout le temps "valeur*valeur*valeur". Il suffit de taper le nom de la fonction et, entre parenthèses, la(les) valeur(s) qu'on lui envoie.
Comme vous avez pu le remarque, on peut indiquer un calcul commme argument de la fonction, cette petite division sera effectuée dans la variable et le résultat sera mis au cube et écrit sur la page.

Une fonction doit toujours être déclarée (écrite) avant d'être appellée. Mettez vos fonctions dans le <head> de la page pour plus de sécutité.

Lorsque vous créez votre fonction, les noms que vous mettez entre parenthèse "function ma_fonction(valeur1, valeur2){" sont le nom des variables dans lesquels seront placés les arguments. Ainsi dans notre exemple, on a mis le nombre envoyé à la fonction dans la variable "valeur".
Lorque vous avez plusieurs arguments, les noms de variable sont séparés par une virgule.
Imaginons maintenant une petite fonction:

function calcul(cube, carre){
calcul1 = cube*cube*cube;
calcul2 = carre*carre;
resultat = calcul1/calcul2;
document.write(resultat);
}
calcul(3, 2);

C'est une fonction qui fait la différence entre le cube d'un nombre et le carré d'un autre.
Comme vous avez pu le voir, les différents arguments sont séparés par une virgule.

Que se passe-t-il si on tape des mots dans la fonction, comme ceci:

calcul('moi', 'lui');

La fonction sait-elle calculer un nombre?

Non, si vous tapez un mot, la fonction va vous renvoyer "NaN" qui signifie "Not A Number". Pour pallier à ce problème, vous pouvez utiliser la fonction "isNaN" qui vérifie si la valeur rentrée est bien un nombre. Si oui, elle renvera FALSE et si non, la fonction renverra TRUE
Exemple:

function calcul(cube, carre){
if(isNaN(cube) || isNaN(carre)){
document.write('Les valeurs ne sont pas des nombres!');
}
else{
calcul1 = cube*cube*cube;
calcul2 = carre*carre;
resultat = calcul1/calcul2;
document.write(resultat);
}
}
calcul(3, 2);

Le calcul ne s'exécutera que si les valeurs rentrées sont bien des nombres.

Dans cette fonction, je n'ai pas mis le mot-clé "var" devant les variables car, rappellez-vous, ce n'est pas obligatoire.

return

Et si vous souhaitez stoker le résultat de la fonction dans une variable plutôt que de l'écrire, comment faire? C'est simple, à la fin de la fonction, vous allez rajouter le mot-clé "return" suivit du nom de la variable à renvoyer.
Pour stocker ce résultat dans una variable, il suffit d'appeller la fonction DEPUIS la variable.
Exemple:

function calcul(cube, carre){
if(isNaN(cube) || isNaN(carre)){
document.write('Les valeurs ne sont pas des nombres!');
}
else{
calcul1 = cube*cube*cube;
calcul2 = carre*carre;
resultat = calcul1/calcul2;
return resultat;
//Renvoi du résultat
}
}
var resultat_fonction = calcul(86, 129);
//Appel de la fonction depuis une variable
document.write('Qu\'y a-t-il dans la variable "resultat_fonction"?<br />'+resultat_fonction);

Voici le résultat:
Exemple JS
suivant       précédent

Creative Commons License
Sauf mention contraire, le contenu de cette page est sous licence Creative Commons
Page générée en 0.3272 secondes.
Retour en haut de la page
Imprimer cette page