⊗jsPmFNIF 247 of 505 menu

Zagnieżdżone funkcje w JavaScript

Załóżmy, że mamy funkcję, która przyjmuje jako parametry dwie liczby i zwraca sumę kwadratów tych liczb:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // wyświetli 13 (wynik 2 * 2 + 3 * 3)

Wyciągnijmy operację podnoszenia do kwadratu do funkcji pomocniczej square:

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

Załóżmy, że jesteśmy pewni, że funkcja square będzie używana tylko wewnątrz funkcji func i w żadnej innej.

W takim przypadku byłoby wygodnie sprawić, żeby nikt przypadkowo jej nie użył (ty sam lub inny programista pracujący razem z tobą).

W JavaScript istnieje eleganckie rozwiązanie: można umieścić naszą funkcję pomocniczą square wewnątrz func. W tym przypadku nasza funkcja pomocnicza będzie dostępna tylko wewnątrz func, a na zewnątrz - nie będzie.

Zróbmy to:

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

Próba wywołania square na zewnątrz func skutkuje błędem:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! spowoduje błąd

Stwórz funkcję func, która parametrami będzie przyjmować dwie liczby, a zwracać sumę kwadratu pierwszej liczby i sześcianu drugiej liczby. Stwórz w tym celu funkcję pomocniczą square, podnoszącą liczbę do kwadratu, oraz funkcję pomocniczą cube, podnoszącą liczbę do sześcianu.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć