JavaScript-da Ichki Funktsiyalar

Faraz qilaylik, bizda ikkita sonni parametr sifatida qabul qiladigan va shu sonlarning kvadratlari yig'indisini qaytaradigan funktsiya bor:

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

console.log(func(2, 3)); // 13 ni chiqaradi (2 * 2 + 3 * 3 natijasi)

Keling, kvadratga oshirish amalini yordamchi square funktsiyasiga ajratamiz:

javascriptfunction square(num) {
  return num * num;
}

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

console.log(func(2, 3)); // 13 ni chiqaradi

Faraz qilaylik, square funktsiyasi faqat func funktsiyasida ishlatilishiga ishonch hosil qildik va boshqa hech qayerda emas.

Bunday holatda, hech kim uni tasodifan ishlatolmasligini ta'minlash qulay bo'lar edi (siz o'zingiz yoki siz bilan birga ishlaydigan boshqa dasturchi).

JavaScriptda noyob yechim mavjud: biz yordamchi square funktsiyamizni func ning ichiga joylashtirishimiz mumkin. Bu holda bizning yordamchi funktsiyamiz faqat func ning ichida ishlay oladi, tashqarida - ishlamaydi.

Buni amalga oshiramiz:

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

console.log(func(2, 3)); // 13 ni chiqaradi

square ni func dan tashqarida chaqirishga urinish xatolikka olib keladi:

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

console.log(square(2)); //!! xatolik beradi
Задание 1

func funktsiyasini yarating, u parametr sifatida ikkita sonni qabul qilsin va birinchi sonning kvadrati va ikkinchi sonning kubining yig'indisini qaytarsin. Buning uchun sonni kvadratga oshiruvchi square yordamchi funktsiyasi va sonni kubga oshiruvchi cube yordamchi funktsiyasini yarating.