diff options
author | julieng <julien.gattelier@gmail.com> | 2021-11-15 21:40:53 +0100 |
---|---|---|
committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-11-15 21:55:31 +0100 |
commit | 7a89da1bf309b748ff4f4be5b16f8d9d148cbe8e (patch) | |
tree | 1e5d89ff08a80c6a5311b703cd11c2e91b342622 /files/fr/glossary/function/index.md | |
parent | 6f6e297fbfa7867b1f42c4245df20f4282b3b083 (diff) | |
download | translated-content-7a89da1bf309b748ff4f4be5b16f8d9d148cbe8e.tar.gz translated-content-7a89da1bf309b748ff4f4be5b16f8d9d148cbe8e.tar.bz2 translated-content-7a89da1bf309b748ff4f4be5b16f8d9d148cbe8e.zip |
move *.html to *.md
Diffstat (limited to 'files/fr/glossary/function/index.md')
-rw-r--r-- | files/fr/glossary/function/index.md | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/files/fr/glossary/function/index.md b/files/fr/glossary/function/index.md new file mode 100644 index 0000000000..efcce3ca49 --- /dev/null +++ b/files/fr/glossary/function/index.md @@ -0,0 +1,89 @@ +--- +title: Fonction +slug: Glossary/Function +tags: + - Encodage + - Fonctions + - Glossaire + - IIFE + - Introduction + - JavaScript +translation_of: Glossary/Function +original_slug: Glossaire/Fonction +--- +<p>Une <strong>fonction</strong> 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")}}.</p> + +<p>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.</p> + +<h3 id="Différents_types_de_fonctions">Différents types de fonctions</h3> + +<p>Une <strong>fonction anonyme</strong> est une fonction sans nom de fonction :</p> + +<pre class="brush: js">function () {}; +// ou en utilisant la notation de flèche de ECMAScript 2015 +() => {};</pre> + +<p>Une <strong>fonction nommée</strong> est une fonction avec un nom de fonction :</p> + +<pre class="brush: js">function foo() {}; +// ou en utilisant la notation de flèche de ECMAScript 2015 +const foo = () => {};</pre> + +<p>Une <strong>fonction imbriquée (ou fonction interne)</strong> est une fonction à l'intérieur d'une autre fonction (<em><code>square</code></em> dans l'exemple suivant). Une <strong>fonction externe</strong> est une fonction qui contient une fonction (<em><code>addSquares</code></em> dans l'exemple suivant) :</p> + +<dl> +</dl> + +<pre class="brush: js">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); +};</pre> + +<p>Une <strong>fonction récursive</strong> est une fonction qui fait appel à elle-même. Voir {{Glossary("Recursion","récursion")}}.</p> + +<pre class="brush: js">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); +};</pre> + +<p>Une <strong>expression de fonction invoquée immédiatement</strong> (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.</p> + +<pre class="brush: js">// 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"); +})();</pre> + +<p>Si vous souhaitez en savoir plus sur les IIFE, consultez la page suivante sur Wikipedia : <a href="https://fr.wikipedia.org/wiki/JavaScript#Expressions_de_fonctions_imm%C3%A9diatement_invoqu%C3%A9es">Expression de la fonction immédiatement invoquée</a></p> + +<h2 id="En_apprendre_plus">En apprendre plus</h2> + +<h3 id="Informations_Techniques">Informations Techniques</h3> + +<ul> + <li><a href="/fr/docs/Web/JavaScript/Guide/Fonctions">Les Fonctions</a> en JavaScript sur MDN</li> + <li><a href="/fr/docs/Web/JavaScript/Reference/Fonctions/Fonctions_fl%C3%A9ch%C3%A9es">Fonctions fléchées</a></li> +</ul> |