Javascript-də funksiyaların parametr kimi ötürülməsi
Funksiyalar, ədədlər, sətirlər və massivlər kimi, digər funksiyalara parametr kimi ötürülə bilər.
Praktiki bir nümunə üzərində daha ətraflı baxaq.
Tutaq ki, iki parametr qəbul edən test
funksiyamız var:
test(parametr1, parametr2);
Gəlin test funksiyasının birinci parametrinə
1 qaytaran anonim funksiya, ikinci parametrinə isə
2 qaytaran anonim funksiya ötürək:
test(
function() {return 1;},
function() {return 2;}
);
Yuxarıda göstərilən kod hələ işlək deyil, çünki funksiyanın özünü yaratmamışıq. Bunu edək:
function test(func1, func2) {
}
Funksiyanı təyin edərkən iki parametr göstərdik
- func1 və func2. Bu parametrlər
içərilərinə nə ötürüləcəyi barədə heç nə bilmir.
Məsələn, ədədlər ötürə bilərik:
test(1, 2); // funksiyanı çağırırıq
function test(func1, func2) {
console.log(func1); // 1 çap edəcək
console.log(func2); // 2 çap edəcək
}
Yaxud funksiyalar ötürə bilərik:
test(
function() {return 1;}, // birinci parametr
function() {return 2;} // ikinci parametr
);
function test(func1, func2) {
console.log(func1); // 'function() {return 1;}' çap edəcək
console.log(func2); // 'function() {return 2;}' çap edəcək
}
Gördüyünüz kimi, indi konsola funksiyaların mənbə kodu çap olunur. Gəlin onların nəticələrini çap etməsi üçün dəyişək. Bunun üçün funksiyalara dairəvi mötərizələr yazaq:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() ); // 1 çap edəcək
console.log( func2() ); // 2 çap edəcək
}
Gəlin konsola birinci və ikinci funksiyanın nəticələrinin cəmini çap edək:
test(
function() {return 1;},
function() {return 2;}
);
function test(func1, func2) {
console.log( func1() + func2() ); // 3 çap edəcək
}
3 funksiya parametr kimi qəbul edən
test funksiyası hazırlayın. Ona birinci
parametr kimi 1 qaytaran funksiya, ikinci
kimi 2 qaytaran funksiya, üçüncü kimi
3 qaytaran funksiya ötürün. Funksiyaların
nəticələrinin cəmini konsola çap edin.