JavaScript-də ədədin parametr kimi ötürülməsi
İndi isə, ötürülən funksiyanın işlədiyi ədədi
test daxilində sərt şəkildə saxlamaq əvəzinə,
onu birinci parametr kimi ötürək:
function test(num, func) { // birinci parametr kimi ədəd gəlir
console.log(func(num));
}
Funksiyamızdan istifadə edək:
function test(num, func) {
console.log(func(num));
}
// 4-ü çap edəcək:
test(2, function(num) {
return num * num;
});
Konstruksiyamızın rahatlığı: bizim
bir test funksiyamız var, parametr kimi
ədəd qəbul edir. Lakin ədədlə nə baş verəcəyi
test funksiyasında sərt şəkildə kodlaşdırılmayıb.
Biz, məsələn, test funksiyasının ikinci parametri kimi
kvadrata yüksəldən funksiyanı ötürə bilərik,
və ya məsələn, kuba yüksəldən funksiyanı ötürə bilərik:
function test(num, func) {
console.log(func(num));
}
// Ədədin kvadratını tapaq:
test(2, function(num) {
return num * num; // kvadratı qaytarır
});
// Ədədin kubunu tapaq:
test(2, function(num) {
return num * num * num; // kubunu qaytarır
});
Qoy test funksiyası birinci parametr kimi
ədəd qəbul etsin, ikinci və üçüncü parametrlər kimi isə
həmçinin parametr kimi ədəd qəbul edən funksiyalar qəbul etsin.
Qoy test funksiyası ötürülən funksiyaların
nəticələrinin cəmini qaytarsın:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
test funksiyasını çağırın, birinci parametr kimi
3 ədədini ötürün, ikinci parametr kimi
ədədi kvadrata yüksəldən funksiyanı, üçüncü parametr kimi isə
ədədi kuba yüksəldən funksiyanı ötürün. Nəticəni
konsola çap edin.