From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/fr/glossaire/fonction/index.html | 88 ++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 files/fr/glossaire/fonction/index.html (limited to 'files/fr/glossaire/fonction/index.html') diff --git a/files/fr/glossaire/fonction/index.html b/files/fr/glossaire/fonction/index.html new file mode 100644 index 0000000000..9669e71ef3 --- /dev/null +++ b/files/fr/glossaire/fonction/index.html @@ -0,0 +1,88 @@ +--- +title: Fonction +slug: Glossaire/Fonction +tags: + - Encodage + - Fonctions + - Glossaire + - IIFE + - Introduction + - JavaScript +translation_of: Glossary/Function +--- +

Une fonction est une portion de code qui peut être appelée par d'autres codes ou par elle-même ou par une {{Glossary("Variable","variable")}} qui se réfère à la fonction. Lorsqu'une fonction est appelée, des {{Glossary("Argument","arguments")}} lui sont généralement donnés en entrée. La fonction peut également retourner une valeur de sortie. En {{glossary("JavaScript")}}, une fonction est aussi un {{glossary("Object","objet")}}.

+ +

Un nom de fonction est un {{Glossary("identifier","identifiant")}} déclaré dans le cadre d'une déclaration de fonction ou de l'expression d'une fonction. Le fait que le nom de fonction soit déclaré ou exprimé impacte la {{Glossary("Scope","portée")}} du nom de fonction.

+ +

Différents types de fonctions

+ +

Une fonction anonyme est une fonction sans nom de fonction :

+ +
function () {};
+// ou en utilisant la notation de flèche de ECMAScript 2015
+() => {};
+ +

Une fonction nommée est une fonction avec un nom de fonction :

+ +
function foo() {};
+// ou en utilisant la notation de flèche de ECMAScript 2015
+const foo = () => {};
+ +

Une fonction imbriquée (ou fonction interne) est une fonction à l'intérieur d'une autre fonction (square dans l'exemple suivant). Une fonction externe est une fonction qui contient une fonction (addSquares dans l'exemple suivant) :

+ +
+
+ +
function addSquares(a,b) {
+   function square(x) {
+      return x * x;
+   }
+   return square(a) + square(b);
+};
+//En utilisant la notation de flèche de ECMAScript 2015
+const addSquares = (a,b) => {
+   const square = x => x*x;
+   return square(a) + square(b);
+};
+ +

Une fonction récursive est une fonction qui fait appel à elle-même. Voir {{Glossary("Recursion","récursion")}}.

+ +
function loop(x) {
+   if (x >= 10)
+      return;
+   loop(x + 1);
+};
+//En utilisant la notation de flèche de ECMAScript 2015
+const loop = x => {
+   if (x >= 10)
+      return;
+   loop(x + 1);
+};
+ +

Une expression de fonction invoquée immédiatement (IIFE) est une fonction appelée directement après le chargement de la fonction dans le compilateur du navigateur. La façon d'identifier une IIFE est de localiser les parenthèses gauche et droite supplémentaires à la fin de la déclaration de la fonction.

+ +
// Erreur (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
+/*
+​function foo() {
+    console.log('Hello Foo');
+}();
+*/
+
+(function foo() {
+    console.log("Hello Foo");
+}());
+
+(function food() {
+    console.log("Hello Food");
+})();
+ +

Si vous souhaitez en savoir plus sur les IIFE, consultez la page suivante sur Wikipedia : Expression de la fonction immédiatement invoquée

+ +

En apprendre plus

+ +

Informations Techniques

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