Parametre for overførte funktioner i JavaScript
Lad os sige, at vi har en funktion test, som
tager en anden funktion som parameter og i konsollen
udskriver resultatet af denne overførte funktion:
function test(func) {
console.log( func() );
}
Lad den overførte funktion func tage et tal
som parameter og gøre noget med det. Lad os give
hende for eksempel tallet 3:
function test(func) {
console.log( func(3) );
}
Lad os nu kalde funktionen test,
ved at give den en anonym funktion som parameter.
Denne anonyme funktion vil tage et tal
som parameter og returnere kvadratet af dette tal.
Som et resultat af alt dette vil vores konstruktion
udskrive kvadratet af tallet 3, det vil sige 9:
// Vil udskrive 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Lad os gøre koden mere elegant:
// Vil udskrive 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Kopier koden for min funktion test.
Kald denne funktion ved at give den
en anonym funktion som parameter, som
vil tage et tal som parameter og returnere dens terning.
Omstrukturer din kode, så den overførte
funktion ikke er anonym, men er defineret
som Function Declaration med navnet func.
Omstrukturer den overførte funktion til Function
Expression med det samme navn func.
Lad den overførte funktion nu tage
to parametre og returnere deres sum. Ved
kald af den overførte funktion inde i test
send til den overførte funktion tallet 2
og tallet 3. Udskriv resultatet.