Fonctions JavaScript
Qu'est-ce que les fonctions ?
Les fonctions sont des éléments fondamentaux dans toute programmation.
Les fonctions sont des blocs de code réutilisables conçus pour effectuer une tâche particulière.
Les fonctions sont exécutées lorsqu'elles sont appelées ou invoquées .
Exemple
Fonction pour calculer le produit de deux nombres :
function myFunction(p1, p2) {
return p1 * p2;
}
Syntaxe des fonctions JavaScript
function name ( p1, p2, ... ) {
// code à exécuter
} Les fonctions sont définies avec le mot-clé function :
- suivi du nom de la fonction
- suivi de parenthèses ( )
- suivi de accolades { }
Le nom de la fonction suit les règles de nommage pour les variables.
Les paramètres optionnels sont listés à l'intérieur des parenthèses : ( p1, p2, ... )
Le code à exécuter est listé à l'intérieur des accolades : { }
Les fonctions peuvent renvoyer une valeur optionnelle au demandeur.
Pourquoi les fonctions ?
Les fonctions permettent une meilleure organisation du code et une plus grande efficacité.
Avec les fonctions, vous pouvez réutiliser le code .
Vous pouvez écrire du code qui peut être utilisé plusieurs fois.
Vous pouvez utiliser le même code avec différents arguments pour produire des résultats différents.
Invocation de fonction ()
Le code à l'intérieur de la fonction s'exécutera lorsque "quelque chose" invoque (appelle) la fonction :
- Lorsqu'elle est invoquée (appelée) depuis le code JavaScript
- Lorsqu'un événement se produit (un utilisateur clique sur un bouton)
- Automatiquement (auto-invoquée)
L'opérateur () invoque la fonction .
Exemple
toCelsius() invoque la fonction toCelsius :
// Convertir Fahrenheit en Celsius :
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
// Appeler la fonction toCelsius()
let value = toCelsius(77); Accéder à une fonction avec des paramètres incorrects peut renvoyer une réponse incorrecte :
Exemple
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
let value = toCelsius(); Accéder à une fonction sans (), renvoie la fonction elle-même et non le résultat :
Exemple
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
let value = toCelsius; Remarque
Dans les exemples ci-dessus :
toCelsius fait référence à l' objet fonction .
toCelsius() fait référence au résultat de la fonction .
Fonctions fléchées
Les fonctions fléchées ont été introduites dans ES6 .
Les fonctions fléchées nous permettent d'écrire une syntaxe de fonction plus courte :
Avant la flèche :
Fonction pour calculer le produit de a et b
let myFunction = function(a, b) {return a * b}
Avec flèche
let myFunction = (a, b) => a * b;
En savoir plus :
Variables locales
Les variables déclarées à l'intérieur d'une fonction JavaScript deviennent LOCALES à la fonction.
Les variables locales ne peuvent être accessibles que depuis l'intérieur de la fonction.
Exemple
// le code ici ne peut PAS utiliser carName
function myFunction() {
let carName = "Volvo";
// le code ici PEUT utiliser carName
}
// le code ici ne peut PAS utiliser carName Étant donné que les variables locales ne sont reconnues qu'à l'intérieur de leurs fonctions, des variables portant le même nom peuvent être utilisées dans différentes fonctions.
Les variables locales sont créées lorsque la fonction commence et supprimées lorsque la fonction est terminée.
Paramètres vs. Arguments
En JavaScript, les paramètres de fonction et les arguments sont des concepts distincts :
Les paramètres sont les noms listés dans la définition de la fonction.
Les arguments sont les valeurs reçues par la fonction.
Exemples
"name" et "age" sont des paramètres :
function greet(name, age) {
return `Hello ${name}! You are ${age} years old.`;
} "John" et 21 sont des arguments :
greet("John", 21); Fonctions utilisées comme variables
Les fonctions peuvent être utilisées comme des variables, dans tous les types de formules, d'assignations et de calculs.
Exemple
Au lieu d'utiliser une variable pour stocker la valeur de retour d'une fonction :
let x = toCelsius(77);
let text = "La température est " + x + " Celsius"; Vous pouvez utiliser la fonction directement, comme une valeur de variable :
let text = "La température est " + toCelsius(77) + " Celsius";