| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Statements/function | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La dclaration function (ou l'instruction function) permet de dfinir une fonction et les paramtres que celle-ci utilise.
function calcRectArea(width, height) {
return width * height;
}
console.log(calcRectArea(5, 6));
// Expected output: 30
Il est galement possible de dfinir des fonctions en utilisant le constructeur Function et une expression de fonction.
function nom([param1[, param2,[, paramN]]]) {
[instructions]
}
nomLe nom de la fonction.
paramNLe nom d'un argument passer la fonction. Une fonction peut avoir jusqu' 255 arguments (cela peut varier en fonction des moteurs).
instructionsLes instructions qui constituent le corps de la fonction.
Une fonction cre via une dclaration de fonction est un objet Function et possde toutes les caractristiques (proprits, mthodes et comportement) d'un objet Function. Voir la page Function pour plus d'informations sur ces caractristiques.
Une fonction peut galement tre cre en utilisant une expression (voir les expressions de fonctions).
Par dfaut, une fonction renvoie undefined. Pour renvoyer une autre valeur en rsultat, une fonction doit utiliser une instruction return qui dfinit la valeur retourner.
Il est possible de dclarer des fonctions de faon conditionnelle (c'est--dire qu'on peut placer une instruction de dclaration de fonction au sein d'une instruction if). La plupart des navigateurs, autres que ceux bass sur Gecko, traiteront cette dclaration conditionnelle comme si elle tait inconditionnelle (que la condition souhaite soit vrifie ou non) (voir cet article (en anglais) pour un aperu). Pour cette raison, les dclarations de fonctions ne devraient pas tre utilises pour crer des fonctions de faon conditionnelle. Pour ce faire, il faut privilgier les expressions de fonctions.
var remontee = "toto" in this;
console.log(
`'toto' ${
remontee ? "est" : "n'est pas"
} remonte. typeof toto vaut ${typeof toto}`,
);
if (false) {
function toto() {
return 1;
}
}
// Pour Chrome:
// 'toto' est remonte. typeof toto vaut undefined
//
// Pour Firefox:
// 'toto' est remonte. typeof toto vaut undefined
//
// Pour Edge:
// 'toto' n'est pas remonte. typeof toto vaut undefined
//
// Pour Safari:
// 'toto' est remonte. typeof toto vaut function
On obtient exactement les mmes rsultats si la condition est vrifie (ici avec true) :
var remontee = "toto" in this;
console.log(
`'toto' ${
remontee ? "est" : "n'est pas"
} remonte. typeof toto vaut ${typeof toto}`,
);
if (true) {
function toto() {
return 1;
}
}
// Pour Chrome:
// 'toto' est remonte. typeof toto vaut undefined
//
// Pour Firefox:
// 'toto' est remonte. typeof toto vaut undefined
//
// Pour Edge:
// 'toto' n'est pas remonte. typeof toto vaut undefined
//
// Pour Safari:
// 'toto' est remonte. typeof toto vaut function
Lorsqu'on utilise une dclaration de fonction pour crer une fonction, la dfinition de la fonction est remonte . Il devient donc possible d'utiliser la fonction avant de l'avoir dclare :
remonte(); // affiche "toto" dans la console
function remonte() {
console.log("toto");
}
On notera que les expressions de fonctions ne sont pas remontes :
nonRemonte(); // TypeError: nonRemonte is not a function
var nonRemonte = function () {
console.log("truc");
};
functionDans l'exemple qui suit, on dclare une fonction qui renvoie le total des ventes en fonction des nombres d'units vendues pour les produits a, b, et c.
function calc_ventes(nb_produits_a, nb_produits_b, nb_produits_c) {
return nb_produits_a * 79 + nb_produits_b * 129 + nb_produits_c * 699;
}
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-function-definitions |
Functionfunction*function*GeneratorFunctionasync function (les dclarations des fonctions asynchrones)async function (les expressions de fonctions asynchrones)Cette page a t modifie le 22 mai 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |