Att skicka ett tal som parameter i JavaScript
Låt oss nu inte hårdkoda talet, som den skickade funktionen gör något med,
inuti test, utan låt oss skicka det som den första parametern:
function test(num, func) { // första parametern är ett tal
console.log(func(num));
}
Låt oss använda vår funktion:
function test(num, func) {
console.log(func(num));
}
// Kommer att skriva ut 4:
test(2, function(num) {
return num * num;
});
Fördelen med vår konstruktion: vi har
en funktion test som accepterar
ett tal som parameter. Men vad som händer med talet
är inte hårdkodat i funktionen test.
Vi kan till exempel skicka en funktion som kvadrerar
som den andra parametern till funktionen
test, eller till exempel en funktion som upphöjer till kub:
function test(num, func) {
console.log(func(num));
}
// Låt oss hitta kvadraten på talet:
test(2, function(num) {
return num * num; // returnerar kvadraten
});
// Låt oss hitta kuben på talet:
test(2, function(num) {
return num * num * num; // returnerar kuben
});
Låt funktionen test acceptera ett tal
som sin första parameter,
och funktioner, som också accepterar tal som parameter,
som sin andra och tredje parameter.
Låt funktionen test returnera summan
av resultaten från de överförda funktionerna:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Anropa funktionen test, skicka talet 3
som den första parametern,
en funktion som kvadrerar talet som den andra parametern,
och en funktion som upphöjer talet till kub som den tredje.
Skriv ut resultatet till konsolen.