Įdėtosios funkcijos JavaScript
Tarkime, turime funkciją, kuri parametrais priima du skaičius ir grąžina šių skaičių kvadratų sumą:
function func(num1, num2) {
return num1 * num1 + num2 * num2;
}
console.log(func(2, 3)); // išvestų 13 (rezultatas 2 * 2 + 3 * 3)
Kėlimą kvadratu išskirkime
į pagalbinę funkciją square:
function square(num) {
return num * num;
}
function func(num1, num2) {
return square(num1) + square(num2);
}
console.log(func(2, 3)); // išvestų 13
Tarkime, esame tikri, kad funkcija square
bus naudojama tik funkcijoje func
ir niekur kitur.
Tokiu atveju būtų patogu padaryti taip, kad jos netyčia niekas nenaudotų (jūs patys ar kitas programuotojas, dirbantis kartu su jumis).
JavaScript yra elegantiškas sprendimas: galime
mūsų pagalbinę funkciją square
įdėti į func vidų. Tokiu atveju
mūsų pagalbinė funkcija bus prieinama
tik func viduje, o išorėje - nebus.
Padarykime tai:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(func(2, 3)); // išvestų 13
Bandymas iškviesti square iš func
išorės
sukels klaidą:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(square(2)); //!! išmes klaidą
Sukurkite funkciją func, kuri parametrais
priims du skaičius, o grąžins pirmojo skaičiaus kvadrato
sumą
su antrojo skaičiaus kubu.
Padarykite tam pagalbinę funkciją
square, kuri pakelia skaičių kvadratu,
ir pagalbinę funkciją cube, kuri pakelia
skaičių kubu.