JavaScript-da Ichki Funktsiyalar
Faraz qilaylik, bizda ikkita sonni parametr sifatida qabul qiladigan va shu sonlarning kvadratlari yig'indisini qaytaradigan funktsiya bor:
function 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:
function 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:
function 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:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(square(2)); //!! xatolik beradi
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.