Overføring av tall som parameter i JavaScript
La oss nå ikke hardkode tallet som den overførte funksjonen
gjør noe med inne i test, men la oss overføre det
som første parameter:
function test(num, func) { // første parameter er et tall
console.log(func(num));
}
La oss bruke funksjonen vår:
function test(num, func) {
console.log(func(num));
}
// Vil skrive ut 4:
test(2, function(num) {
return num * num;
});
Fordelen med konstruksjonen vår: vi har
én funksjon test som tar imot
et tall som parameter. Men hva som skal skje med tallet
er ikke hardkodet i funksjonen test.
Vi kan for eksempel som andre parameter til funksjonen
test overføre en funksjon som opphøyer
i andre, eller for eksempel en som opphøyer i tredje:
function test(num, func) {
console.log(func(num));
}
// La oss finne kvadratet av tallet:
test(2, function(num) {
return num * num; // returnerer kvadratet
});
// La oss finne kubikken av tallet:
test(2, function(num) {
return num * num * num; // returnerer kubikken
});
La funksjonen test ta imot et tall
som første parameter, og som andre og tredje parametere
- funksjoner som også tar imot tall som parameter.
La funksjonen test returnere summen
av resultatene fra de overførte funksjonene:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Kall funksjonen test, overfør tallet 3
som første parameter, som andre parameter
en funksjon som opphøyer tallet i andre, og som tredje
- en funksjon som opphøyer tallet i tredje. Skriv ut
resultatet i konsollen.