Beágyazott függvények a JavaScriptben
Tegyük fel, hogy van egy függvényünk, amely paraméterként két számot fogad és visszaadja ezeknek a számoknak a négyzetösszegét:
function func(num1, num2) {
return num1 * num1 + num2 * num2;
}
console.log(func(2, 3)); // kiírja 13-t (az eredmény 2 * 2 + 3 * 3)
Vegyük ki a négyzetre emelés műveletét egy
square segédfüggvénybe:
function square(num) {
return num * num;
}
function func(num1, num2) {
return square(num1) + square(num2);
}
console.log(func(2, 3)); // kiírja 13-t
Tegyük fel, biztosak vagyunk benne, hogy a square
függvényt csak a func függvényben fogjuk használni,
és sehol máshol.
Ebben az esetben kényelmes lenne, ha senki sem használhatná véletlenül (Ön maga vagy egy másik programozó, aki Önnel dolgozik együtt).
A JavaScriptben van egy elegáns megoldás: az
square segédfüggvényt elhelyezhetjük
a func függvény belsejében. Ebben az esetben
a segédfüggvény csak a func függvényen belül
lesz elérhető, kívülről viszont nem.
Tegyük ezt meg:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(func(2, 3)); // kiírja 13-t
A square függvény kívülről történő meghívásának
kísérlete hibához vezet:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(square(2)); //!! hibát jelez
Készítsen egy func függvényt, amely paraméterként
két számot fogad, és visszaadja az első szám négyzetének
és a második szám köbének az összegét.
Ehhez készítsen egy square segédfüggvényt a szám
négyzetre emeléséhez, és egy cube segédfüggvényt a
szám köbre emeléséhez.