function

Déclare une fonction nommée : un bloc de code avec des paramètres, que vous pouvez appeler autant de fois que vous voulez et qui peut renvoyer un résultat.

Sur cette page

Exemple

#
JavaScript
function calculateLevel(points) {
  return Math.floor(points / 100) + 1
}

console.log(calculateLevel(0))
console.log(calculateLevel(250))
Console
1
3

Définition et utilisation

#

Une déclaration function crée une fonction portant le nom donné. Une fonction est une recette enfermée dans un bloc : elle reçoit des données par des paramètres, exécute des instructions et peut renvoyer un résultat avec return. Une fois écrite, vous l’appelez autant de fois que vous voulez.

Les paramètres peuvent avoir des valeurs par défaut, utilisées quand un argument n’est pas fourni. Le paramètre du reste ...rest rassemble tous les arguments excédentaires dans un tableau. Une fonction qui n’exécute jamais return renvoie undefined.

Les déclarations de fonction sont entièrement remontées (hoisting), donc vous pouvez appeler une fonction plus haut dans le fichier qu’à l’endroit où elle est écrite. Cela ne s’applique pas aux expressions de fonction, par ex. const add = function () {}, qui ne fonctionnent qu’à partir de la ligne d’affectation.

Syntaxe

#
Syntaxe
function name(param1, param2) {
  // instructions
  return value
}

function name(param = defaultValue, ...rest) {}

Plus d’exemples

#
Paramètres par défaut et du reste
JavaScript
function summary(student = 'Invité', ...scores) {
  const total = scores.reduce((sum, score) => sum + score, 0)
  return `${student}: ${total} pts`
}

console.log(summary('Léa', 10, 20, 30))
console.log(summary())
Console
Léa: 60 pts
Invité: 0 pts
Appel avant la déclaration
JavaScript
console.log(double(21))

function double(n) {
  return n * 2
}
Console
42
Une fonction comme argument
JavaScript
function applyBonus(points, rule) {
  return rule(points)
}

function doubleBonus(points) {
  return points * 2
}

console.log(applyBonus(40, doubleBonus))
console.log(applyBonus(40, (points) => points + 5))
Console
80
45

Compatibilité des navigateurs

#

Largement disponible

Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.

  • Chrome
  • Edge
  • Firefox
  • Safari

Bonnes pratiques

#
  • Nommez les fonctions avec des verbes qui disent ce qu’elles font : calculateTotal, formatDate, isValid. Le code se lit alors presque comme des phrases.
  • Une fonction devrait faire une seule chose. Si la décrire a besoin du mot « et », envisagez de la diviser en deux plus petites.
  • Les arguments manquants reçoivent la valeur undefined, et les arguments excédentaires sont ignorés. JavaScript ne signale pas d’erreur pour un mauvais nombre d’arguments, donc cela vaut la peine de valider les données reçues.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.