Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Site Web > Javascript > Apprenez le Javascript ! > Les bases du Javascript > Les fonctions > Lecture du tutoriel

Les fonctions

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)
Avatar
Auteur : ZoZor
Note : 17 / 20 (7 votes)
Visualisations : 43 759

Plus d'informations Plus d'informations
Nous allons maintenant nous occuper des fonctions. On va voir ensemble que nous nous en sommes servis plusieurs fois, et sans le savoir.

En fait, vous ne pourrez pratiquement plus vous passer des fonctions. ;)

Comme le dit un de mes amis, on y go !
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Créer ses propres fonctions

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 : JavaScript
1
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 : JavaScript
1
2
3
4
5
6
7
function multiplier_par_trois()
{
var nombre = 11;
nombre *= 3;
return nombre;
}
document.write(multiplier_par_trois());


Explications :

  1. Dans un premier temps j'ai créé la fonction multiplier_par_trois(), grâce à la syntaxe suivante : function nom_de_la_fonction().
  2. Ensuite j'ai mis des accolades, c'est-à-dire que tout ce qui se trouve entre ces accolades fera partie de la fonction !
  3. Là je pense que vous avez compris : je crée une variable, puis je la multiplie par trois.
  4. 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.
  5. 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 : JavaScript
1
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 :
  1. 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.
  2. Ensuite, j'ai multiplié par 3 le paramètre, puis j'ai dit à la fonction de le retourner.
  3. 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 : JavaScript
1
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. ^^

Exemples et exercices pour bien comprendre

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 maths
En 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 : JavaScript
1
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.

Image utilisateur
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 : JavaScript
1
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 : JavaScript
1
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. :D

Image utilisateur
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 : JavaScript
1
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.

Q.C.M.

Quel est le mot à mettre avant le nom de la fonction pour dire à Javascript que ce qu'on va créer sera une fonction ?
Qu'est-ce qu'un paramètre ?

La fonction a() retourne-t-elle la même chose que la fonction b() ?

Code : JavaScript
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
function a()
{
var chiffre = 1;
chiffre *= 5;
return chiffre;
}

function b(parametre)
{
var resultat = parametre * 5;
return resultat;
}
Que renvoie cette fonction ?

Code : JavaScript
1
2
3
4
5
function ma_fonction(x)
{
var resultat = x*2*2*2*2/16;
return resultat;
}

Statistiques de réponses au QCM


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 : JavaScript
1
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...
Chapitre précédent Sommaire Chapitre suivant
Retour en haut Retour en haut


Créé : le 28/06/2006 à 21:30:15
Modifié : le 22/08/2008 à 15:52:25
Avancement : 0%
Licence : Copie non autorisée

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 352 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.2185s (0.1932s)