JavaScript-də İç-içə Funksiyalar
Tutaq ki, bizim iki ədəd parametr qəbul edən və onların kvadratlarının cəmini qaytaran bir funksiyamız var:
function func(num1, num2) {
return num1 * num1 + num2 * num2;
}
console.log(func(2, 3)); // 13 çap edəcək (2 * 2 + 3 * 3 nəticəsi)
Gəlin kvadratə çıxarma əməliyyatını köməkçi square funksiyasına çıxaraq:
function square(num) {
return num * num;
}
function func(num1, num2) {
return square(num1) + square(num2);
}
console.log(func(2, 3)); // 13 çap edəcək
Tutaq ki, biz əminik ki, square funksiyası yalnız func funksiyasında istifadə olunacaq və heç bir başqa yerdə istifadə olunmayacaq.
Bu halda, onun təsadüfən heç kəs tərəfindən istifadə olunmamasını (özünüz və ya sizinlə birlikdə işləyən başqa bir proqramçı) təmin etmək rahat olardı.
JavaScript-də zərif bir həll var: biz köməkçi square funksiyamızı func-nin içərisinə yerləşdirə bilərik. Bu halda, bizim köməkçi funksiyamız yalnız func-nin daxilində əlçatan olacaq, xaricdə isə olmayacaq.
Gəlin bunu edək:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(func(2, 3)); // 13 çap edəcək
square funksiyasını func-nin xaricində çağırmaq cəhdi səhvə səbəb olacaq:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
console.log(square(2)); //!! səhv verəcək
func funksiyası düzəldin, parametr olaraq iki ədəd qəbul etsin və birinci ədədin kvadratı ilə ikinci ədədin kubunun cəmini qaytarsın. Bunun üçün ədədi kvadratə çıxaran köməkçi square funksiyasını və ədədi kuba çıxaran köməkçi cube funksiyasını düzəldin.