⊗jsPmFNIF 247 of 505 menu

Geneste functies in JavaScript

Stel we hebben een functie die twee getallen als parameter accepteert en de som van de kwadraten van deze getallen teruggeeft:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // geeft 13 weer (resultaat van 2 * 2 + 3 * 3)

Laten we de bewerking van kwadrateren uitsluiten in een hulpfunctie square:

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

Stel we zijn er zeker van dat de functie square alleen in de functie func gebruikt zal worden en nergens anders.

In dat geval zou het handig zijn om te zorgen dat niemand haar per ongeluk gebruikt (jij zelf of een andere programmeur die samen met jou werkt).

In JavaScript is er een elegante oplossing: we kunnen onze hulpfunctie square in func plaatsen. In dit geval zal onze hulpfunctie alleen beschikbaar zijn binnenin func, en van buitenaf - niet.

Laten we dit doen:

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

Een poging om square van buitenaf func aan te roepen zal leiden tot een fout:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! geeft een foutmelding

Maak een functie func die als parameters twee getallen accepteert, en de som van het kwadraat van het eerste getal met de derde macht van het tweede getal teruggeeft. Maak hiervoor een hulpfunctie square, die een getal kwadrateert, en een hulpfunctie cube, die een getal tot de derde macht verheft.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren