⊗jsPmFNIF 247 of 505 menu

Fonctions imbriquées en JavaScript

Supposons que nous ayons une fonction prenant en paramètre deux nombres et renvoyant la somme des carrés de ces nombres :

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // affichera 13 (résultat de 2 * 2 + 3 * 3)

Sortons l'opération d'élévation au carré dans une fonction auxiliaire square :

function square(num) { return num * num; } function func(num1, num2) { return square(num1) + square(num2); } console.log(func(2, 3)); // affichera 13

Supposons que nous soyons sûrs que la fonction square ne sera utilisée que dans la fonction func et nulle part ailleurs.

Dans ce cas, il serait pratique de faire en sorte que personne ne l'utilise accidentellement (vous-même ou un autre programmeur travaillant avec vous).

JavaScript a une solution élégante : on peut placer notre fonction auxiliaire square à l'intérieur de func. Dans ce cas, notre fonction auxiliaire ne sera accessible qu'à l'intérieur de func, et pas de l'extérieur.

Faisons cela :

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(func(2, 3)); // affichera 13

Toute tentative d'appeler square en dehors de func entraînera une erreur :

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! générera une erreur

Créez une fonction func qui prendra en paramètres deux nombres, et renverra la somme du carré du premier nombre et du cube du deuxième nombre. Pour cela, créez une fonction auxiliaire square, élevant un nombre au carré, et une fonction auxiliaire cube, élevant un nombre au cube.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser