Posredovanje števila kot parametra v JavaScript
Naj število, s katerim nekaj naredi
posredovana funkcija, ne bo trdno shranjeno
znotraj test, ampak ga posredujmo kot prvi parameter:
function test(num, func) { // prvi parameter je število
console.log(func(num));
}
Uporabimo našo funkcijo:
function test(num, func) {
console.log(func(num));
}
// Izpiše 4:
test(2, function(num) {
return num * num;
});
Prednost naše konstrukcije: imamo
eno funkcijo test, ki kot parameter sprejme
število. Toda to, kaj se bo zgodilo s številom,
ni trdno zakodirano v funkciji test.
Lahko na primer kot drugi parameter funkcije
test posredujemo funkcijo, ki dvigne
na kvadrat, lahko pa na primer na kub:
function test(num, func) {
console.log(func(num));
}
// Poiščimo kvadrat števila:
test(2, function(num) {
return num * num; // vrne kvadrat
});
// Poiščimo kub števila:
test(2, function(num) {
return num * num * num; // vrne kub
});
Naj funkcija test kot prvi parameter
sprejme število, kot drugi in tretji parameter
pa funkcije, ki prav tako kot parameter sprejemajo števila.
Naj funkcija test vrne vsoto
rezultatov posredovanih funkcij:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
Pokličite funkcijo test, kot prvi parameter
posredujte število 3, kot drugi parameter
funkcijo, ki število dvigne na kvadrat, in tretji
- funkcijo, ki število dvigne na kub. Rezultat
izpišite v konzolo.