Parametri prosleđenih funkcija u JavaScript-u
Pretpostavimo da imamo funkciju test koja
kao parametar prima drugu funkciju i u konzolu
ispisuje rezultat rada te prosleđene funkcije:
function test(func) {
console.log( func() );
}
Neka prosleđena funkcija func kao parametar
prima broj i nešto radi sa njim. Prosledimo
joj, na primer, broj 3:
function test(func) {
console.log( func(3) );
}
Hajde sada da pozovemo funkciju test,
prosledivši joj kao parametar anonimnu funkciju.
Ova anonimna funkcija će kao parametar primati
broj i vraćati kvadrat tog broja.
Kao rezultat svega ovoga, naša konstrukcija
će ispisati kvadrat broja 3, odnosno 9:
// Ispisaće 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Hajde da uredimo kod elegantnije:
// Ispisaće 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Kopirajte kod moje funkcije test.
Pozovite tu funkciju, prosledivši joj kao parametar
anonimnu funkciju, koja će kao parametar
primatati broj i vraćati njegov kub.
Preinačite vaš kod tako da prosleđena
funkcija ne bude anonimna, već da bude definisana
kao Function Declaration sa imenom func.
Preinačite prosleđenu funkciju u Function
Expression sa istim imenom func.
Neka prosleđena funkcija sada prima
dva parametra i vraća njihov zbir. Prilikom
poziva prosleđene funkcije unutar test
prosledite u prosleđenu funkciju broj 2
i broj 3. Ispišite rezultat.