JavaScriptis edastatavate funktsioonide parameetrid
Olgu meil funktsioon test, mis
võtab parameetrina vastu teise funktsiooni ja konsooli
väljastab selle edastatud funktsiooni töö tulemuse:
function test(func) {
console.log( func() );
}
Olgu edastatud funktsioon func parameetrina
võtab vastu numbri ja teeb sellega midagi. Edastame
talle näiteks numbri 3:
function test(func) {
console.log( func(3) );
}
Nüüd kutsume funktsiooni test välja,
andes sellele parameetrina anonüümse funktsiooni.
See anonüümne funktsioon võtab parameetrina vastu
numbri ja tagastab selle numbri ruudu.
Selle tulemusena väljub meie konstruktsioon
numbri 3 ruut, see tähendab 9:
// Väljund 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Vormindame koodi elegantsemalt:
// Väljund 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Kopeerige minu funktsiooni test kood.
Kutsuge see funktsioon välja, edastades sellele parameetrina
anonüümse funktsiooni, mis parameetrina
võtab vastu numbri ja tagastab selle kuubi.
Muutke oma koodi nii, et edastatav
funktsioon poleks anonüümne, vaid oleks defineeritud
kui Function Declaration nimega func.
Muutke edastatav funktsioon Function
Expression'iks sama nimega func.
Olgu edastatav funktsioon nüüd võtab
vastu kaks parameetrit ja tagastab nende summa.
Kui edastatavat funktsiooni test sees välja kutsuda,
edastage edastatavasse funktsiooni number 2
ja number 3. Kuva tulemus.