Rappel Fonctions

Sommaire

Introduction

Voici les rappels pour les fonctions. Il y a également des exemples.

Note: Si vous copier plusieurs fois le code dans une console web, vous pouvez avoir une erreur car une variable déclarée avec let avec le même nom a déjà été déclaré précédemment. Le plus simple est d'ouvrir une console web dans un autre onglet, ou d'enlever le let pour tester le code.


Concepts

Une fonction est un sous-programme visant à réaliser une action donnée à travers l’exécution d’une série d’instructions. Une fonction est définie (déclaration de la fonction) : on indique la série d'instructions regroupée dans la fonction et on lui donne un nom. Une fonction est utilisée (appel de la fonction) : on déclenche la fonction, ce qui lancera l'exécution de l'ensemble de la série d'instructions, en général en utilisant le nom de la fonction.

Une fonction exécute toujours une série d'instructions, et peut dans certains cas renvoyer un résultat (avec return). Par ailleurs, une fonction peut prendre en compte un certain nombre de paramètres pour fonctionner (ce qu'on appelle des attributs).


Syntaxe en JavaScript

Les éléments en italique sont optionnels, les éléments en gras sont à utiliser tels quels (ils sont obligatoires s'il ne sont PAS en italique par ailleurs) et les autres éléments sont ceux qui sont obligatoires et que vous devez définir vous même.

Note: la déclaration d'une fonction de déclenche rien et n'exécute aucune instruction. Les instructions de la fonction ne s'exécutent qu'à l'appel de la fonction. Les instructions se déclenchent à chaque fois qu'on appelle la fonction: si on appelle une fonction 5 fois, les instructions s'exécuteront 5 fois.

Déclaration de fonction

function nomDeLaFonction (attribut1, attribut2, attribut3, ... )

{

instruction 1;

instruction 2;

instruction 3;

...

return monResultat;

}


Appel de fonction

nomDeLaFonction ( attribut1, attribut2, attribut3, ... );


Exemple de fonction sans argument en JavaScript SANS return

Exemple 1: afficher "Bonjour"

Imaginons une fonction qui affiche la String "Bonjour" à chaque fois qu'on l'appelle.

Le code suivant permet de créer cette fonction (appellée salutation) et de l'appeler 3 fois:



function salutation()

{

alert("Bonjour");

}


salutation();

salutation();

salutation();

Exemple 2: afficher un nombre aléatoire entre 0 et 1

Imaginons une fonction qui affiche de manière aléatoire un nombre positif inférieur à 1 à chaque fois qu'on l'appelle.

Le code suivant permet de créer cette fonction (appellée aleatoire) et de l'appeler 2 fois:



function aleatoire()

{

alert(Math.random());

}


aleatoire();

aleatoire();


Exemple de fonction sans argument en JavaScript AVEC return

Exemple 1: afficher "Bonjour" et renvoyer une valeur "merci de votre politesse"

Imaginons une fonction qui affiche "Bonjour" à chaque fois qu'on l'appelle, et qui renvoie la valeur de type String "merci de votre politesse".

Le code suivant permet de créer cette fonction (appellée salutationMerci) et de l'appeler 2 fois:

  • La première fois on appelle la fonction et elle s'exécute,

  • la deuxième on l'appelle aussi, mais on stocke la valeur qu'elle renvoie dans la variable appelée retourPolitesse.

  • avec le dernier alert(), on affiche la valeur de la variable retourPolitesse qui contient alors "merci de votre politesse".



function salutationMerci()

{

alert("Bonjour");

return "merci de votre politesse";

}


salutationMerci();

let retourPolitesse= salutationMerci();

alert(retourPolitesse);



Exemple 2: retourner un nombre aléatoire entre 0 et 1

Imaginons une fonction qui renvoie de manière aléatoire un nombre positif inférieur à 1 à chaque fois qu'on l'appelle.

Le code suivant permet de créer cette fonction (appellée aleatoireReturn) et de l'appeler 3 fois:

  • la première fois, on renvoie sa valeur dans la variable nouveauNombreAleatoire. Quand on affiche cette variable avec un alert, on voit le resultat

  • la deuxième fois, on affiche directement la valeur retournée par la fonction en utilisant la fonction dans le alert(). Cela n'est pas possible si la fonction ne renvoie aucune valeur.

  • la dernière fois, on modifie la valeur de nouveauNombreAleatoire en appelant une nouvelle fois la fonction. Cela retourne une nouvelle valeur et nouveauNombreAleatoire est modifié en conséquence.



function aleatoireReturn()

{

const monNombreRandom=Math.random();

return monNombreRandom;

}


let nouveauNombreAleatoire=aleatoireReturn();

alert(nouveauNombreAleatoire);


alert(aleatoireReturn());


nouveauNombreAleatoire=aleatoireReturn();

alert(nouveauNombreAleatoire);

Exemple de fonction avec 1 argument en JavaScript SANS return

Exemple 1: afficher "Bonjour" suivi du nom renseigné

Imaginons une fonction qui affiche "Bonjour" à chaque fois qu'on l'appelle, et qui accole le nom renseigné

Le code suivant permet de créer cette fonction (appellée salutationNom) et de l'appeler 4 fois:

  • La première fois cela affiche "Bonjour Père Noël"

  • la deuxième également (via une variable)

  • la troisième cela affiche "Bonjour ! Comment ça va ?"

  • la quatrième fois: "Bonjour undefined" car aucun n'attribut n'est donné



function salutationNom( nomASaluer)

{

alert("Bonjour "+ nomASaluer);

}



salutationNom("Père Noël");


let nom="Père Noël";

salutationNom(nom);


nom="! Comment ça va ?";

salutationNom(nom);


salutationNom( );



Exemple 2: afficher un nombre aléatoire entre 0 et le nombre donné

Imaginons une fonction qui affiche de manière aléatoire un nombre positif inférieur à celui entré par l'utilisateur ou donné dans le code

Le code suivant permet de créer cette fonction (appellée aleatoirede0aN) et de l'appeler 3 fois:

  • la première fois, l'attribut est une variable définie dans le code

  • la deuxième fois, via une variable dont la valeur est entrée par l'utilisateur via un prompt

  • la troisième fois, comme la fois précédente mais en utilisant directement la valeur retourné par prompt comme attribut de la fonction

  • la quatrième fois fois via un nombre défini dans le code



function aleatoirede0aN(nombreMax)

{

alert(Math.random()*nombreMax);

}



let borneSuperieure=6;

aleatoirede0aN(borneSuperieure);


borneSuperieure=prompt("Entrer la valeur maximum que devra prendre le nombre aléatoire");

aleatoirede0aN(borneSuperieure);


aleatoirede0aN(prompt("Entrer une deuxième fois une valeur maximum que devra prendre le nombre aléatoire"));


aleatoirede0aN(17.967);


Exemple de fonction avec 1 argument en JavaScript AVEC return

Exemple 1: afficher "Bonjour" suivi du nom renseigné et qui retourne "Merci" ou "Je ne vous remercie pas"

Imaginons une fonction qui affiche "Bonjour" à chaque fois qu'on l'appelle, et qui accole le nom renseigné et qui renvoie "Merci" quand on a entré un nom, "Je ne vous remercie pas" sinon.

Le code suivant permet de créer cette fonction (appellée salutationNomMerci) et de l'appeler 3 fois:

  • La première fois on appelle la fonction et elle s'exécute,

  • la deuxième on l'appelle avec un nom, et on stocke la valeur qu'elle renvoie dans la variable appelée retourPolitesse.

  • On l'affiche avec alert(), ce qui affiche "Merci"

  • la troisième fois on l'appelle sans nom, et on stocke la valeur qu'elle renvoie dans la variable retourPolitesse.

  • On l'affiche avec alert(), ce qui affiche "Je ne vous remercie pas"



function salutationNomMerci( nomSalutation)

{

alert("Bonjour "+ nomSalutation);

let resultat;

if (nomSalutation)

{

resultat="Merci";

}

else

{

resultat="Je ne vous remercie pas";

}

return resultat;

}


salutationNomMerci("Lauren");

let retourPolitesse= salutationNomMerci("Jack");

alert(retourPolitesse);


retourPolitesse= salutationNomMerci( );

alert(retourPolitesse);





Exemple 2: renvoie un nombre aléatoire entre 0 et le nombre donné

Imaginons une fonction qui renvoie de manière aléatoire un nombre positif inférieur à celui entré par l'utilisateur ou donné dans le code

Le code suivant permet de créer cette fonction (appellée aleatoirede0aNReturn) et de l'appeler 3 fois:

  • la première fois, elle est simplement appelée pour un nombre maximum de 5

  • la deuxième fois, la valeur est retournée pour un nombre maximum de 9 dans une variable nombreGenere puis affichée via alert( )

  • la troisième fois, la valeur est directement utilisée par alert ( ) pour un nombre maximum de 0.5



function aleatoirede0aNReturn(nombreMax)

{

return Math.random()*nombreMax;

}

aleatoirede0aNReturn(5);

let nombreGenere= aleatoirede0aNReturn(9);

alert(nombreGenere);

alert( aleatoirede0aNReturn(0.5). );




Exemple de fonction avec 2 arguments en JavaScript SANS return

Exemple 1: afficher "Bonjour" suivi du nom renseigné autant de fois que renseigné

Imaginons une fonction qui affiche "Bonjour" à chaque fois qu'on l'appelle, et qui accole le nom renseigné autant de fois que renseigné par l'utilisateur ou dans le code.

Le code suivant permet de créer cette fonction (appellée salutationNomNFois) :



function salutationNomNFois( nomSalutation, nombreDeRepetitions)

{

let salutationsRepetees= "Bonjour ";

compteRepetition=0

while(compteRepetition<nombreDeRepetitions)

{

salutationsRepetees+= nomSalutation+" ";

compteRepetition++;


}

alert(salutationsRepetees);

}

salutationNomNFois("Lauren",3);






Exemple 2: afficher un nombre aléatoire entre le nombre minimum et le nombre maximim donné

Imaginons une fonction qui affiche de manière aléatoire un nombre entre le nombre minimum et le nombre maximum entré par l'utilisateur ou donné dans le code

Le code suivant permet de créer cette fonction (appellée aleatoiredeXaY) et de l'appeler 2 fois:

  • la première fois, les attributs sont donnés dans le code (entre 2 et 5)

  • la deuxième fois, la deuxième valeur est entrée par l'utilisateur via prompt( ) (entre 4 et ce que rentre l'utilisateur)

  • la troisième fois, les deux valeurs sont entrées par l'utilisateur via prompt( ).



function aleatoiredeXaY(nombreMin, nombreMax)

{

let resultat = nombreMin+ Math.random()*(nombreMax-nombreMin);

alert(resultat);

}



aleatoiredeXaY(2, 5);

aleatoiredeXaY(4, prompt("Entrer la valeur maximum supérieure à 4") );

aleatoiredeXaY(Number(prompt("Entrer la valeur minimum")) , Number(prompt("Entrer la valeur maximum") ) );


Exemple de fonction avec 2 arguments en JavaScript AVEC return

Exemple 1: afficher "Bonjour" suivi du nom renseigné répété autant de fois que renseigné et qui retourne "Merci" ou "Je ne vous remercie pas"

Imaginons une fonction qui affiche "Bonjour" à chaque fois qu'on l'appelle, et qui accole le nom répété autant de fois que renseigné et qui renvoie "Merci" quand on a entré un nom, "Je ne vous remercie pas" sinon.

Le code suivant permet de créer cette fonction (appellée salutationRepetitionMerci) et de l'appeler 2 fois:

  • on l'appelle avec ("Jack",2), ce qui affiche Jack répété deux fois: "Bonjour Jack Jack" et on stocke la valeur qu'elle renvoie dans la variable appelée retourPolitesse.

  • On l'affiche avec alert(), ce qui affiche "Merci"

  • si on utilise (2, "Jack"), ce qui n'affiche rien car l'odre est important. Dans ce cas, nomSalutation prend la valeur 2 et nombreDeRepetitions prend la valeur "Jack", or on ne peut pas afficher un nom "Jack" fois.


function salutationRepetitionMerci( nomSalutation, nombreDeRepetitions)

{

let salutationsRepetees= "Bonjour ";

compteRepetition=0

while(compteRepetition<nombreDeRepetitions)

{salutationsRepetees+= nomSalutation+" ";

compteRepetition++;}

alert(salutationsRepetees);


let resultat;

if (nomSalutation)

{ resultat="Merci";

}else{ resultat="Je ne vous remercie pas";}

return resultat;

}



let retourPolitesse= salutationRepetitionMerci("Jack",2);

alert(retourPolitesse);

salutationRepetitionMerci(2,"Jack");

Exemple 2: retourner un nombre aléatoire entre le nombre minimum et le nombre maximim donné

Imaginons une fonction qui retourne de manière aléatoire un nombre entre le nombre minimum et le nombre maximum entré par l'utilisateur ou donné dans le code

Le code suivant permet de créer cette fonction (appellée aleatoiredeXaYReturn) et de l'appeler 2 fois:

  • la première fois, les attributs sont donnés dans le code (entre 2 et 5)

  • la deuxième fois, la deuxième valeur est entrée par l'utilisateur via prompt( ) (entre 4 et ce que rentre l'utilisateur)

  • la troisième fois, les deux valeurs sont entrées par l'utilisateur via prompt( ).



function aleatoiredeXaYReturn(nombreMin, nombreMax)

{

let resultat = nombreMin+ Math.random()*(nombreMax-nombreMin);

return resultat;

}



alert( aleatoiredeXaYReturn(2, 5) );

alert( aleatoiredeXaYReturn(4, prompt("Entrer la valeur maximum supérieure à 4") ) );

alert( aleatoiredeXaYReturn( Number(prompt("Entrer la valeur minimum")) , Number(prompt("Entrer la valeur maximum") ) ));