From 844f5103992238c0c23203286dad16a466e89c97 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:09 +0200 Subject: move *.html to *.md --- .../reference/statements/function/index.html | 172 --------------------- .../reference/statements/function/index.md | 172 +++++++++++++++++++++ 2 files changed, 172 insertions(+), 172 deletions(-) delete mode 100644 files/fr/web/javascript/reference/statements/function/index.html create mode 100644 files/fr/web/javascript/reference/statements/function/index.md (limited to 'files/fr/web/javascript/reference/statements/function') diff --git a/files/fr/web/javascript/reference/statements/function/index.html b/files/fr/web/javascript/reference/statements/function/index.html deleted file mode 100644 index 9a27ccb426..0000000000 --- a/files/fr/web/javascript/reference/statements/function/index.html +++ /dev/null @@ -1,172 +0,0 @@ ---- -title: function -slug: Web/JavaScript/Reference/Statements/function -tags: - - JavaScript - - Reference - - Statement -translation_of: Web/JavaScript/Reference/Statements/function -original_slug: Web/JavaScript/Reference/Instructions/function ---- -
{{jsSidebar("Statements")}}
- -

La déclaration function (ou l'instruction function) permet de définir une fonction et les paramètres que celle-ci utilise.

- -
{{EmbedInteractiveExample("pages/js/statement-function.html")}}
- - - -

Il est également possible de définir des fonctions en utilisant le constructeur {{jsxref("Function")}} et une {{jsxref("Opérateurs/L_opérateur_function", "expression de fonction","",1)}}.

- -

Syntaxe

- -
function nom([param1[, param2,[..., paramN]]]) {
-   [instructions]
-}
-
- -
-
nom
-
Le nom de la fonction.
-
paramN
-
Le nom d'un argument à passer à la fonction. Une fonction peut avoir jusqu'à 255 arguments (cela peut varier en fonction des moteurs).
-
instructions
-
Les instructions qui constituent le corps de la fonction.
-
- -

Description

- -

Une fonction créée via une déclaration de fonction est un objet Function et possède toutes les caractéristiques (propriétés, méthodes et comportement) d'un objet Function. Voir la page {{jsxref("Function")}} pour plus d'informations sur ces caractéristiques.

- -

Une fonction peut également être créée en utilisant une expression (voir {{jsxref("Opérateurs/L_opérateur_function", "les expressions de fonctions","",1)}}).

- -

Par défaut, une fonction renvoie {{jsxref("undefined")}}. Pour renvoyer une autre valeur en résultat, une fonction doit utiliser une instruction {{jsxref("Instructions/return", "return")}} qui définit la valeur à retourner.

- -

Fonctions créées conditionnellement

- -

Il est possible de déclarer des fonctions de façon conditionnelle (c'est-à-dire qu'on peut placer une instruction de déclaration de fonction au sein d'une instruction if). La plupart des navigateurs, autres que ceux basés sur Gecko, traiteront cette déclaration conditionnelle comme si elle était inconditionnelle (que la condition souhaitée soit vérifiée ou non) (voir cet article (en anglais) pour un aperçu). Pour cette raison, les déclarations de fonctions ne devraient pas être utilisées pour créer des fonctions de façon conditionnelle. Pour ce faire, il faut privilégier les expressions de fonctions.

- -
var remontee = "toto" in this;
-console.log(`'toto' ${remontee ? "est" : "n'est pas"} remontée. typeof toto vaut ${typeof toto}`);
-if (false) {
-  function toto(){ return 1; }
-}
-
-// Pour Chrome:
-// 'toto' est remontée. typeof toto vaut undefined
-//
-// Pour Firefox:
-// 'toto' est remontée. typeof toto vaut undefined
-//
-// Pour Edge:
-// 'toto' n'est pas remontée. typeof toto vaut undefined
-//
-// Pour Safari:
-// 'toto' est remontée. typeof toto vaut function
-
- -

On obtient exactement les mêmes résultats si la condition est vérifiée (ici avec true) :

- -
var remontee = "toto" in this;
-console.log(`'toto' ${remontee ? "est" : "n'est pas"} remontée. typeof toto vaut ${typeof toto}`);
-if (true) {
-  function toto(){ return 1; }
-}
-
-// Pour Chrome:
-// 'toto' est remontée. typeof toto vaut undefined
-//
-// Pour Firefox:
-// 'toto' est remontée. typeof toto vaut undefined
-//
-// Pour Edge:
-// 'toto' n'est pas remontée. typeof toto vaut undefined
-//
-// Pour Safari:
-// 'toto' est remontée. typeof toto vaut function
- -

La « remontée » des déclarations de fonction

- -

Lorsqu'on utilise une déclaration de fonction pour créer une fonction, la définition de la fonction est « remontée ». Il devient donc possible d'utiliser la fonction avant de l'avoir déclarée :

- -
remontée(); // affiche "toto" dans la console
-
-function remontée() {
-  console.log("toto");
-}
-
- -

On notera que les {{jsxref("Opérateurs/L_opérateur_function", "expressions de fonctions","",1)}} ne sont pas remontées :

- -
nonRemontée(); // TypeError: nonRemontée is not a function
-
-var nonRemontée = function() {
-   console.log("truc");
-};
-
- -

Exemples

- -

Utiliser function

- -

Dans l'exemple qui suit, on déclare une fonction qui renvoie le total des ventes en fonction des nombres d'unités 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;
-}
-
- -

Spécifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('ESDraft', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Définition de fonction')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-13', 'Définition de fonction')}}{{Spec2('ES5.1')}} 
{{SpecName('ES3', '#sec-13', 'Définition de fonction')}}{{Spec2('ES3')}} 
{{SpecName('ES1', '#sec-13', 'Définition de fonction')}}{{Spec2('ES1')}}Définition initiale. Implémentée avec JavaScript 1.0.
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.statements.function")}}

- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/statements/function/index.md b/files/fr/web/javascript/reference/statements/function/index.md new file mode 100644 index 0000000000..9a27ccb426 --- /dev/null +++ b/files/fr/web/javascript/reference/statements/function/index.md @@ -0,0 +1,172 @@ +--- +title: function +slug: Web/JavaScript/Reference/Statements/function +tags: + - JavaScript + - Reference + - Statement +translation_of: Web/JavaScript/Reference/Statements/function +original_slug: Web/JavaScript/Reference/Instructions/function +--- +
{{jsSidebar("Statements")}}
+ +

La déclaration function (ou l'instruction function) permet de définir une fonction et les paramètres que celle-ci utilise.

+ +
{{EmbedInteractiveExample("pages/js/statement-function.html")}}
+ + + +

Il est également possible de définir des fonctions en utilisant le constructeur {{jsxref("Function")}} et une {{jsxref("Opérateurs/L_opérateur_function", "expression de fonction","",1)}}.

+ +

Syntaxe

+ +
function nom([param1[, param2,[..., paramN]]]) {
+   [instructions]
+}
+
+ +
+
nom
+
Le nom de la fonction.
+
paramN
+
Le nom d'un argument à passer à la fonction. Une fonction peut avoir jusqu'à 255 arguments (cela peut varier en fonction des moteurs).
+
instructions
+
Les instructions qui constituent le corps de la fonction.
+
+ +

Description

+ +

Une fonction créée via une déclaration de fonction est un objet Function et possède toutes les caractéristiques (propriétés, méthodes et comportement) d'un objet Function. Voir la page {{jsxref("Function")}} pour plus d'informations sur ces caractéristiques.

+ +

Une fonction peut également être créée en utilisant une expression (voir {{jsxref("Opérateurs/L_opérateur_function", "les expressions de fonctions","",1)}}).

+ +

Par défaut, une fonction renvoie {{jsxref("undefined")}}. Pour renvoyer une autre valeur en résultat, une fonction doit utiliser une instruction {{jsxref("Instructions/return", "return")}} qui définit la valeur à retourner.

+ +

Fonctions créées conditionnellement

+ +

Il est possible de déclarer des fonctions de façon conditionnelle (c'est-à-dire qu'on peut placer une instruction de déclaration de fonction au sein d'une instruction if). La plupart des navigateurs, autres que ceux basés sur Gecko, traiteront cette déclaration conditionnelle comme si elle était inconditionnelle (que la condition souhaitée soit vérifiée ou non) (voir cet article (en anglais) pour un aperçu). Pour cette raison, les déclarations de fonctions ne devraient pas être utilisées pour créer des fonctions de façon conditionnelle. Pour ce faire, il faut privilégier les expressions de fonctions.

+ +
var remontee = "toto" in this;
+console.log(`'toto' ${remontee ? "est" : "n'est pas"} remontée. typeof toto vaut ${typeof toto}`);
+if (false) {
+  function toto(){ return 1; }
+}
+
+// Pour Chrome:
+// 'toto' est remontée. typeof toto vaut undefined
+//
+// Pour Firefox:
+// 'toto' est remontée. typeof toto vaut undefined
+//
+// Pour Edge:
+// 'toto' n'est pas remontée. typeof toto vaut undefined
+//
+// Pour Safari:
+// 'toto' est remontée. typeof toto vaut function
+
+ +

On obtient exactement les mêmes résultats si la condition est vérifiée (ici avec true) :

+ +
var remontee = "toto" in this;
+console.log(`'toto' ${remontee ? "est" : "n'est pas"} remontée. typeof toto vaut ${typeof toto}`);
+if (true) {
+  function toto(){ return 1; }
+}
+
+// Pour Chrome:
+// 'toto' est remontée. typeof toto vaut undefined
+//
+// Pour Firefox:
+// 'toto' est remontée. typeof toto vaut undefined
+//
+// Pour Edge:
+// 'toto' n'est pas remontée. typeof toto vaut undefined
+//
+// Pour Safari:
+// 'toto' est remontée. typeof toto vaut function
+ +

La « remontée » des déclarations de fonction

+ +

Lorsqu'on utilise une déclaration de fonction pour créer une fonction, la définition de la fonction est « remontée ». Il devient donc possible d'utiliser la fonction avant de l'avoir déclarée :

+ +
remontée(); // affiche "toto" dans la console
+
+function remontée() {
+  console.log("toto");
+}
+
+ +

On notera que les {{jsxref("Opérateurs/L_opérateur_function", "expressions de fonctions","",1)}} ne sont pas remontées :

+ +
nonRemontée(); // TypeError: nonRemontée is not a function
+
+var nonRemontée = function() {
+   console.log("truc");
+};
+
+ +

Exemples

+ +

Utiliser function

+ +

Dans l'exemple qui suit, on déclare une fonction qui renvoie le total des ventes en fonction des nombres d'unités 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;
+}
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('ESDraft', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Définition de fonction')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-13', 'Définition de fonction')}}{{Spec2('ES5.1')}} 
{{SpecName('ES3', '#sec-13', 'Définition de fonction')}}{{Spec2('ES3')}} 
{{SpecName('ES1', '#sec-13', 'Définition de fonction')}}{{Spec2('ES1')}}Définition initiale. Implémentée avec JavaScript 1.0.
+ +

Compatibilité des navigateurs

+ +

{{Compat("javascript.statements.function")}}

+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf