Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Des fonctions, vous en avez vu et utilisé sans le savoir. Mais concrètement, qu'est-ce que c'est ?
Une fonction, c'est une série d'instructions qui retourne une valeur. Par exemple pour les maths, on pourrait faire une fonction qui calcule toute seule l'aire d'une sphère. Si vous faites le calcul qu'une seule fois, ça ne vous sera pas utile, mais si vous le faites 5, 10, 15 ou même 20 fois, vous en aurez vite marre de faire les calculs. C'est pourquoi on a inventé les fonctions !
Des fonctions sans paramètres
Nous allons directement passer à la pratique, pour que vous compreniez plus vite. Testez ce script.
Code : JavaScript1
2
3 | var nombre = 11;
nombre *= 3;
document.write(nombre);
|
Vous l'avez vu, j'ai multiplié une variable par 3. Mais je peux aussi créer une fonction qui va multiplier par 3 toute seule.
Code : JavaScript1
2
3
4
5
6
7 | function multiplier_par_trois()
{
var nombre = 11;
nombre *= 3;
return nombre;
}
document.write(multiplier_par_trois());
|
Explications :
- Dans un premier temps j'ai créé la fonction multiplier_par_trois(), grâce à la syntaxe suivante : function nom_de_la_fonction().
- Ensuite j'ai mis des accolades, c'est-à-dire que tout ce qui se trouve entre ces accolades fera partie de la fonction !
- Là je pense que vous avez compris : je crée une variable, puis je la multiplie par trois.
- Après j'ai écrit return nombre. Cela veut dire qu'une fois arrivée là, la fonction s'arrête même s'il y a encore du code, et retourne la valeur de la variable. Ici, la fonction retourne nombre.
- Enfin, j'ai écrit document.write(multiplier_par_trois()). Cela signifie tout simplement "écrire ce que la fonction retourne".
Je l'avoue, dans cet exemple, c'est plus long d'utiliser une fonction. Enfin, une fonction sans paramètres, parce que vous allez en voir un autre type : les fonctions à paramètres.
Des fonctions à paramètres
Vous allez le voir, elles sont beaucoup mieux à utiliser. En fait, vous allez avoir plus de liberté qu'avec des fonctions sans paramètres, car jusque là, vous ne pouviez qu'utiliser la fonction, et c'est tout. Ici vous allez pouvoir "en tirer profit". Maintenant, testez ce script.
Code : JavaScript1
2
3
4
5
6 | function multiplier_par_trois(nombre_a_multiplier)
{
nombre_a_multiplier *= 3;
return nombre_a_multiplier;
}
document.write(multiplier_par_trois(11));
|
Explications :
- En premier, j'ai créé une fonction, comme dans l'autre exemple. Sauf que là, j'ai mis une variable entre les parenthèses de la fonction. Ce type de variable s'appelle un paramètre.
- Ensuite, j'ai multiplié par 3 le paramètre, puis j'ai dit à la fonction de le retourner.
- Enfin, j'ai fait écrire ce que la fonction retourne. Mais là, entre les parenthèses de la fonction, j'ai mis 11. Cela signifie en fait que dans la fonction, nombre_a_multiplier sera égal à 11.
Et peut-on changer le nombre ?
Evidemment, et c'est même fait pour ça ! Regardez, je vais faire plein de fois la fonction en lui envoyant des paramètres différents.
Code : JavaScript1
2
3
4
5
6
7
8 | function multiplier_par_trois(nombre_a_multiplier)
{
nombre_a_multiplier *= 3;
return nombre_a_multiplier;
}
document.write('3 x 3 = '+multiplier_par_trois(3)+'<br/>');
document.write('9 x 3 = '+multiplier_par_trois(9)+'<br/>');
document.write('99999999999 x 3 = '+multiplier_par_trois(99999999999));
|
Si c'est pas pratique, ça ? Et encore, ce n'est que pour multiplier par 3. Plus tard vous pourrez créer une fonction qui résoudra les équations à deux inconnues avec accolades, et en écrivant toute la démarche ! Je peux vous le dire car j'en avais créé une il fut un temps.
Vous ayant fait découvrir les fonctions assez rapidement, je me dois de vous familiariser un peu plus avec elles. Une fois qu'on a compris, on voit tout de suite que c'est très simple.
Fonctions affines
Théorie
Ahaha, vous en avez bavé en 3ème ? Elles reviennent, et plus fortes que jamais !
Pour vous rafraîchir les idées (au cas où vous auriez oublié ce qu'est une
fonction affine), je vais vous réexpliquer brièvement à quoi ça sert. Nous allons travailler avec cette fonction, la voici, la voilà :
f(x) = 2x + 11
Cette fonction sert souvent dans des graphiques, et je vais vous le prouver. Mais avant ça, je vais mettre cette fonction sous forme de problème, pour que vous compreniez mieux.
Citation : Cours de mathsEn l'an de grâce -2139, un vaillant chevalier avait pour seul but de tuer toute personne qu'il regardait. Il en tua des milliers et des milliers, mais hélas pour lui, il ne put atteindre son objectif avant de mourir. Après sa mort, seul 11 personnes pouvaient se vanter d'avoir été épargnées par le mystérieux chevalier. Pour garder leur espèce en vie, ils firent le serment de faire deux enfants tous les ans.
Représentez le nombre de personnes vivantes de 1 à 7 ans sous forme d'une fonction f.
Explications :
Le chevalier a tué tous les humains sauf 11. Donc, il n'y a plus que 11 humains vivants sur Terre. Pour garder leur espèce en vie, ils font 2 enfants chaque année. Donc, si je veux calculer combien d'humains il y aura sur Terre 5 ans après le terrible massacre, il suffit de faire : 2 x 5 + 11 = 21.
Et dans 6 ans ?
Il faut faire : 2 x 6 + 11, ce qui fait 23. Oh miracle, le nombre d'années vaut x ! Donc, ça veut dire qu'on peut représenter le nombre d'humains sur Terre par : 2x + 11. f(x) = 2x + 11 ; c'est donc comme une fonction en javascript, avec x comme argument, regardez, je vous transforme ça en JS :
Code : JavaScript1
2
3
4
5 | function f(x)
{
var resultat = 2*x+11;
return resultat;
}
|
Oui, c'est aussi une fonction, comme en maths ! Bon, ça, c'était pour vous faire un peu mieux comprendre les fonctions (aussi bien en Javascript qu'en maths

). Je vous mets le résultat sous forme graphique en dessous, puis on fait quelques exercices.
Résultat de la fonction f sous forme de graphique
Pratique
Ici, je ne vais pas vous faire bosser très dur... Je vais surtout vous faire travailler, pour que vous soyez tout de suite à l'aise avec nos bien-aimées : les fonctions.
Exercice 1 :
Créez une fonction qui multipliera par 4 et divisera par 5 le paramètre
chiffre (donc le paramètre de la fonction sera la variable
chiffre).
Secret (cliquez pour afficher)Code : JavaScript1
2
3
4
5 | function calculer(chiffre)
{
var resultat = chiffre*4/5;
return resultat;
}
|
Exercice 2 :
Créez une fonction qui multiplie par 5, puis divise par 3 le paramètre
chiffre et l'additionne au paramètre
nombre.
Secret (cliquez pour afficher)Code : JavaScript1
2
3
4
5 | function calculer(chiffre,nombre)
{
var resultat = chiffre*5/3+nombre;
return resultat;
}
|
Calculer le périmètre d'un rectangle
Encore et toujours des maths... Mais sous forme de programmation, c'est quand même mieux, vous ne trouvez pas ? Bon, cette fois-ci, vous allez vous débrouiller (presque) tout seuls. Vous allez devoir créer une fonction qui calculera le périmètre d'un rectangle. Quoi ? Vous ne savez même plus comment on fait la démarche ? C'est votre jour de chance, je vais vous expliquer.
Un rectangle
Un rectangle est composé de 4 côtés. La largeur, la hauteur, la largeur et la hauteur. Le périmètre de ce rectangle est le bord noir, donc, puisqu'il y a 2 côtés "longueur" et deux autres "largeur", il suffit juste de savoir combien mesure la largeur et la hauteur du rectangle.
Ok, je ne sais pas expliquer. Je vais donc me rattraper sur le calcul, je vais vous le donner : il faut faire :
largeur x 2 + longueur x 2. Une dernière petite chose avant de vous laisser tout seuls : la fonction
calculer_perimetre_rectangle aura comme paramètres
largeur et
longueur.
Secret (cliquez pour afficher)Code : JavaScript1
2
3
4
5 | function calculer_perimetre_rectangle(largeur,longueur)
{
var resultat = largeur*2+longueur*2;
return resultat;
}
|
J'espère que vous avez réussi, car c'était censé être simple. Je suppose que si vous avez fait tous les exercices que je vous ai proposés, vous avez bien compris ce que sont les fonctions, donc vous n'avez plus rien à apprendre à leur sujet.
Comme le dicton le dit, avec les fonctions c'est pas la baston ! (Je voulais trouver un truc mieux pour terminer ce chapitre, mais hélas mon inspiration m'a joué des tours.)
Attends, attends ! J'ai pas trop compris à quoi sert return, tu peux expliquer plus en détails ?
Pas de problème : j'étais comme vous quand j'ai commencé à apprendre les fonctions, et je n'avais rien compris à
return. Avant, on me disait : "C'est trop évident,
return ça te retourne une variable ou une valeur, comment tu veux que j'explique ça plus simplement ?". Le truc, c'est que je savais pas trop ce que ça voulait dire
retourner une variable ou une valeur. Mais maintenant, j'ai tout compris et je vais vous expliquer ça le plus simplement possible !
Prenons pour exemple une fonction qui ne sert à rien.
Code : JavaScript1
2
3
4 | function je_sers_a_rien(parametre)
{
return parametre;
}
|
Quand dans votre script, vous faites
je_sers_a_rien(19); c'est comme si vous aviez créé une variable
je_sers_a_rien qui avait pour valeur
19. Après, vous faites ce que vous voulez avec, vous l'affichez, vous la stockez, ... Voici un petit exemple de ce qu'on peut faire avec une fonction qui retourne une valeur.
Code : JavaScript 1
2
3
4
5
6
7
8
9
10
11 | function calculer(chiffre)
{
var resultat = chiffre + 13;
return resultat;
}
document.write('Voici ce que renvoie la fonction calculer quand je lui envoie 6 : '+calculer(6)+'<br/>');
var contenu = calculer(6); /* On met en mémoire ce que renvoie la fonction calculer quand on lui envoie 6 */
document.write('Voici ce que contient la variable contenu : '+contenu);
|
Si vous comprenez rien de plus avec ça, je ne peux plus rien pour vous...