[Mise à jour le 25/6/2021]
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.
Description
Exemple
Integer parseInt(String chaîne [, String base])
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
Syntaxe
function nomFonction(param1, ... , paramN){ // Instruction(s) }
Syntaxe
nomFonction = function(param1, ... , paramN){ // Instruction(s) }
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; }
// 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
Exemple
// Le paramètre facultatif pluriel permet de gérer les exceptions function getPluriel(nb, pluriel = "s") { return nb > 1 ? pluriel : ""; } var nbChouette = 2, nbHibou = 3; nbGrandduc = 1; console.log(nbChouette + " chouette" + getPluriel(nbChouette) + ", " + nbHibou + " hibou" + getPluriel(nbHibou, "x") + " et " + nbGrandduc + " Grand-duc" + getPluriel(nbGrandduc) + " me regardaient fixement !!!"); // Résultat dans la console : 2 chouettes, 3 hiboux et 1 Grand-duc me regardaient fixement !!!
Les paramètres sont dits :
- formels (ou arguments) lorsqu'ils apparaissent au niveau de la définition d'une fonction (d'une méthode), par opposition aux paramètres
- effectifs qui sont listés dans un appel de fonction (méthode).
Exemple
Les fonctions anonymes sont, comme leur nom l’indique, des fonctions qui ne vont pas posséder de nom. Généralement, on utilisera les fonctions anonymes lorsque le code de la fonction n’est appelé qu’à un endroit dans le script et n’est pas réutilisé.
Exemple
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Compteur</title> </head> <body> <p id="compteur">0</p> <script type="text/javascript"> var nb = 0; setInterval(function () { nb++; document.getElementById("compteur").innerHTML = nb; }, 1000); </script> </body>
Syntaxe
(function(param1, param2,...,paramN){ // Traitements })(p1, p2, ...,pN);