[[web:javascript|{{ :iconemaison.jpg?nolink&25|Accueil JavaScript}}]]
===== JavaScript - Les fonctions =====
[Mise à jour le 25/6/2021]
* **Sources** et compléments sur **MDN Web Docs**
* Fonctions \\
* ** Lectures connexes**
* Wikis WebPEM : [[:outils:vscode:web|"Préparer un projet de site Web avec l'IDE VSCode"]]
==== 1. Introduction ====
Il existe deux grands types de fonctions en JavaScript : les fonctions **natives** ou **prédéfinies** (qui sont en fait des méthodes) qu'il suffit d'appeler et les fonctions **personnalisées** à créer.
Une fonction est un **ensemble de traitements réutilisables** effectués à partir de **paramètres** et renvoyant un** résultat**.
**Description**
//typeRetour// **nomFonction**(//type1// param1,... ,//typen paramn, [,//type// paramFacultatif=valeur]) \\
- //typeRetour// est le type de donnée renvoyé par la fonction. \\
- param1,... ,//typen sont les types des paramètres passés à la fonction. \\
- Lorsqu'un paramètre facultatif est utilisé, une valeur par défaut est appliquée.
// Exemple//
Integer parseInt(String chaîne [, String base])
==== 2. Les fonctions natives (built-in) ====
* **Ressource** : Fonctions prédéfinies
Les fonctions natives sont intégrées au langage.
// Exemple // : //Integer// **parseInt**(//String// chaîne [,//String// base])
console.log(parseInt("150")); // Renvoie 150
console.log(parseInt("150.45")); // Renvoie 150
console.log(parseInt("150xxx")); // Renvoie 150
console.log(parseInt("xxx150")); // Renvoie NaN
console.log(parseInt("FF",16)); // Renvoie 255
==== 3. Les fonctions personnalisées ====
=== 3.1 Déclarer une fonction ===
* **Méthode 1** : courante
// Syntaxe //
function nomFonction(param1, ... , paramN){
// Instruction(s)
}
* **Méthode 2** : avec le constructeur //function//
// Syntaxe //
nomFonction = function(param1, ... , paramN){
// Instruction(s)
}
Le nom d'une fonction ne recevant pas de paramètres est écrit avec des parenthèses soit : nomFonction().
=== 3.2 Renvoyer un résultat ===
Pour renvoyer un résultat, on utilise l'instruction //**return**// suivie de la valeur. //return// stoppe l'exécution de la fonction et peut être utilisé sans valeur.
// Exemple //
// Calcul de la somme des valeurs de 1 à n
function Somme1aN(n) {
var somme = 0;
for (i = 0; i <= n; i++) {
somme += i;
}
return somme;
}
=== 3.3 Utiliser une fonction ===
// Appel de la fonction ci-dessus
var n = 45;
var resultat = Somme1aN(n);
console.log("Somme=" + resultat + " pour n=" + n); // Affiche Somme=1035 pour n=45
Une fonction est souvent déclarée dans un fichier JavaScript externe. Son intégration dans la page web se fait avec la balise //