Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. JavaScript et Angular
  3. Fonctions
Extrait - JavaScript et Angular Des bases du langage au développement d'une application web
Extraits du livre
JavaScript et Angular Des bases du langage au développement d'une application web
1 avis
Revenir à la page d'achat du livre

Fonctions

Commandes Git

Les commandes GIT suivantes permettent d’accéder aux codes sources des chapitres précédents :

cd C:\ 
git clone https://github.com/EditionsENI/JavaScriptEtAngular_JS.git 
cd C:\JavaScriptEtAngular\JavaScript 
git checkout chapitre05 
code . 

Introduction

Une fonction permet d’écrire plusieurs instructions afin de pouvoir réutiliser le bloc d’instructions sans réécrire chaque instruction. Elle est nommée et définie une seule fois, mais exécutée plusieurs fois dans le programme principal.

Des fonctions ont déjà été utilisées dans cet ouvrage. Le déroulement normal du programme est une fonction : la fonction principale. document.writeln() est une fonction. Elle affiche quelque chose sur la page web.

Fonctions simples

1. Syntaxe

Une fonction est déclarée grâce au mot-clé function suivi de son nom.

function maFonction() { 
        opération(s); 
} 

À chaque appel, maFonction() effectuera les opérations situées dans son corps de fonction. Pour appeler une fonction, il suffit d’écrire son nom.

<!-- C:\JavaScriptEtAngular\JavaScript\C05\demonstration\index.html --> 
<!DOCTYPE html> 
<html lang="fr"> 
 
<head> 
   <meta charset="UTF-8"> 
   <title>ENI éditions</title> 
</head> 
 
<body> 
   <script type="text/javascript"> 
       // Définition de la fonction 
       function fLois() { 
           document.writeln("Un robot ne peut porter atteinte à un être  
humain, ni, en restant passif, permettre qu'un être humain soit exposé  
au danger. <br />") 
           document.writeln("Un robot doit obéir aux ordres qui lui  
sont donnés par un être humain, sauf si de tels ordres entrent en conflit  
avec la première loi. <br />"); 
           document.writeln("Un...

Fonctions et arguments

Lors de l’appel d’une fonction, il est possible de définir un ou plusieurs arguments utilisés comme variables au sein de celle-ci. Ces variables ont une portée limitée au bloc d’instructions de la fonction. Les arguments sont un moyen de passer des informations ou des données de la fonction principale vers une fonction secondaire. Une fonction peut accueillir un nombre illimité d’arguments de n’importe quel type.

1. Syntaxe de fonction avec arguments

Les arguments sont déclarés entre les parenthèses situées après le nom de fonction et ne sont pas typés. Pour rappel, JavaScript est un langage de programmation non fortement typé et c’est l’utilisation que l’on fait des variables qui définit leurs types.

function fonctionsEtArguments(argument01, argument02, argument03) { 
     console.log(argument01); 
     console.log(argument02); 
     console.log(argument03); 
} 

2. Appel de fonction avec arguments

Dès lors, pour appeler une fonction avec arguments, il suffit d’écrire son nom suivi des arguments.

<!-- C:\JavaScriptEtAngular\JavaScript\C05\demonstration\
index.html --> 
<!DOCTYPE html> 
<html lang="fr"> 
 
<head> 
   <meta charset="UTF-8"> 
   <title>ENI éditions</title> 
</head> 
 
<body> 
   <script type="text/javascript"> 
     ...

Retour

Une fonction n’est pas uniquement réservée à l’affichage d’éléments dans le navigateur web. Certaines fonctions retournent des informations utilisables dans d’autres fonctions.

1. Syntaxe

Il existe en réalité deux types de fonctions : les procédures, qui effectuent un certain nombre d’opérations, et les fonctions, qui traitent des informations et fournissent un résultat. Ce résultat est appelé retour de fonction.

function maFonction(argument01, argument02) { 
     opération(s) 
     return unRetour; 
} 

function somme(argument01, argument02) { 
   let retourDeFonction; 
   retourDeFonction = argument01 + argument02; 
   return retourDeFonction; 
} 

Avec le temps et l’expérience, ce genre de fonction peut être grandement simplifié par le développeur. En effet, la variable retourDeFonction est initialisée, affectée et sert de retour à la fonction en trois lignes de code. Une première économie peut être réalisée en regroupant l’initialisation et l’affectation sur une seule ligne.

let retourDeFonction = argument01 + argument02; 

Une deuxième économie consiste à se passer complètement de la variable...

Fonctions ou méthodes

Parfois, le développeur veut pouvoir regrouper plusieurs fonctions ensemble au sein de son application. Soit parce qu’elles fonctionnent toutes ensemble, soit parce qu’elles se rapportent au même élément.

Lorsque plusieurs fonctions sont regroupées au sein d’un objet elles sont appelées méthodes.

D’ailleurs, contrairement à ce qui a été dit dans l’introduction de ce chapitre, writeln() est une méthode de l’objet document, et non une fonction.

En fait, une méthode et une fonction ont la même syntaxe et le même fonctionnement. Organiser son code de façon à créer des objets au sein desquels figurent des fonctions appelées méthodes, c’est faire de la programmation orientée objet. Et c’est précisément le sujet du chapitre JavaScript orienté objet. 

Mise en pratique

1. Énoncé

maxDeDeuxNombres()

Écrivez une fonction maxDeDeuxNombres() qui, considérant deux nombres, retourne le plus grand.

maxDeTroisNombres()

Écrivez une fonction maxDeTroisNombres() qui, considérant trois nombres, retourne le plus grand.

maxDeTroisNombresBis()

Écrivez une fonction maxDeTroisNombreBis() qui, considérant trois nombres, retourne le plus grand en utilisant uniquement la fonction maxDeDeuxNombres() plusieurs fois si nécessaire.

factorielle()

Écrivez une fonction factorielle() qui retourne la factorielle d’un nombre entré en paramètre. La factorielle d’un nombre est le résultat de la multiplication de tous les entiers positifs inférieurs ou égaux au nombre.

  • Factorielle(1) = 1, car 1! = 1

  • factorielle(2) = 2, car 2! =2 * 1

  • factorielle(3) = 6, car 3! = 3 * 2 * 1

  • factorielle(4) = 24, car 4! = 4 * 3 * 2 * 1

2. Correction

maxDeDeuxNombres()

La fonction maxDeDeuxNombres() utilise deux nombres passés en paramètres. Si le premier est plus grand que le deuxième, elle retourne le premier, sinon elle retourne le deuxième.

<!-- C:\JavaScriptEtAngular\JavaScript\C05\miseEnPratique\
index.html --> 
<!DOCTYPE html> 
<html lang="fr"> 
 
<head> 
   <meta charset="UTF-8"> 
   <title>ENI éditions</title> 
</head> 
 
<body> 
   <script type="text/javascript"> 
       // Retourne le plus grand des deux nombres 
       function maxDeDeuxNombres(a, b) { 
           // Si le premier est plus...