Overførsel af tal som parameter i JavaScript
Lad os nu ikke hardkode tallet, som den overførte funktion
gør noget med, inde i test, men i stedet overføre det
som den første parameter:
function test(num, func) { // første parameter er et tal
console.log(func(num));
}
Lad os bruge vores funktion:
function test(num, func) {
console.log(func(num));
}
// Vil udskrive 4:
test(2, function(num) {
return num * num;
});
Fordelen ved vores konstruktion: vi har
en funktion test, der accepterer
et tal som parameter. Men hvad der sker med tallet
er ikke hardkodet i funktionen test.
Vi kan for eksempel overføre en funktion, der opløfter
tallet i anden potens, som den anden parameter til
funktionen test, eller vi kan for eksempel overføre
en funktion, der opløfter i tredje potens:
function test(num, func) {
console.log(func(num));
}
// Find kvadratet af tallet:
test(2, function(num) {
return num * num; // returnerer kvadratet
});
// Find terningen af tallet:
test(2, function(num) {
return num * num * num; // returnerer terningen
});
Lad funktionen test acceptere et tal
som sin første parameter,
og funktioner, der også accepterer tal som parameter,
som sin anden og tredje parameter.
Lad funktionen test returnere summen
af resultaterne fra de overførte funktioner:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Kald funktionen test, og overfør tallet 3
som den første parameter, en funktion der opløfter
tallet i anden potens som den anden parameter,
og en funktion der opløfter tallet i tredje potens
som den tredje parameter. Udskriv resultatet
i konsollen.