JavaScript perduodamų funkcijų parametrai
Tarkime, kad turime funkciją test, kuri
parametru priima kitą funkciją ir į konsolę
išveda šios perduotos funkcijos vykdymo rezultatą:
function test(func) {
console.log( func() );
}
Tarkime, kad perduota funkcija func parametru
priima skaičių ir kažką su juo daro. Perduokime
jai, pavyzdžiui, skaičių 3:
function test(func) {
console.log( func(3) );
}
Dabar iškvikime funkciją test,
perdavę jai parametru anoniminę funkciją.
Ši anoniminė funkcija parametru priims
skaičių ir grąžins šio skaičiaus kvadratą.
Dėl to viso mūsų konstrukcija
išves skaičiaus 3 kvadratą, tai yra 9:
// Išves 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Suformuokime kodą elegantiškiau:
// Išves 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Nukopijuokite mano funkcijos test kodą.
Iškvieskite šią funkciją, perdavę jai parametru
anoniminę funkciją, kuri parametru bus
priimanti skaičių ir grąžinanti jo kubą.
Pakeiskite savo kodą taip, kad perduodama
funkcija būtų ne anoniminė, o būtų apibrėžta
kaip Function Declaration su pavadinimu func.
Pakeiskite perduodamą funkciją į Function
Expression su tuo pačiu pavadinimu func.
Tarkime, kad perduodama funkcija dabar priima
du parametrus ir grąžina jų sumą. Kai
iškviesite perduodamą funkciją test viduje
perduokite į perduodamą funkciją skaičių 2
ir skaičių 3. Išveskite rezultatą.