Transmiterea numărului ca parametru în JavaScript
Să nu mai stocăm în mod rigid numărul cu care funcția transmisă
face ceva în interiorul lui test, ci să-l transmitem ca prim parametru:
function test(num, func) { // primul parametru care vine este un număr
console.log(func(num));
}
Să folosim funcția noastră:
function test(num, func) {
console.log(func(num));
}
// Va afișa 4:
test(2, function(num) {
return num * num;
});
Conveniența construcției noastre: avem
o funcție test care acceptă un număr
ca parametru. Dar ceea ce se va întâmpla cu numărul
nu este hardcodat în funcția test.
Putem, de exemplu, să transmitem ca al doilea parametru al funcției
test o funcție care ridică la pătrat,
sau putem, de exemplu, să transmitem una care ridică la cub:
function test(num, func) {
console.log(func(num));
}
// Să găsim pătratul numărului:
test(2, function(num) {
return num * num; // returnează pătratul
});
// Să găsim cubul numărului:
test(2, function(num) {
return num * num * num; // returnează cubul
});
Fie funcția test care acceptă ca prim parametru
un număr, iar ca al doilea și al treilea parametru
- funcții care, de asemenea, acceptă numere ca parametru.
Fie că funcția test returnează suma
rezultatelor funcțiilor transmise:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Apelați funcția test, transmitând ca prim parametru
numărul 3, ca al doilea parametru
funcția care ridică numărul la pătrat, iar ca al treilea
- funcția care ridică numărul la cub. Afișați
rezultatul în consolă.