Įdėtosios funkcijos JavaScript

Tarkime, turime funkciją, kuri parametrais priima du skaičius ir grąžina šių skaičių kvadratų sumą:

javascriptfunction 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:

javascriptfunction 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:

javascriptfunction 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ą:

javascriptfunction func(num1, num2) {
  function square(num) {
    return num * num;
  }
  
  return square(num1) + square(num2);
}

console.log(square(2)); //!! išmes klaidą
Задание 1

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.