Parametrat e Funksioneve të Transmetuara në JavaScript
Le të supozojmë se kemi funksionin test i cili
merr si parametër një funksion tjetër dhe në konsol
shfaq rezultatin e punës së atij funksioni të transmetuar:
function test(func) {
console.log( func() );
}
Le të supozojmë se funksioni i transmetuar func
merr si parametër një numër dhe bën diçka me të. Le t'i
transmetojmë, për shembull, numrin 3:
function test(func) {
console.log( func(3) );
}
Tani le ta thërrasim funksionin test,
duke i transmetuar si parametër funksionin anonim.
Ky funksion anonim do të marrë si parametër një numër
dhe do të kthejë katrorin e atij numri.
Si rezultat i gjithë kësaj, konstruksioni ynë
do të shfaqë katrorin e numrit 3, pra 9:
// Do të shfaqë 9:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Le ta organizojmë kodin në mënyrë më elegante:
// Do të shfaqë 9:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Kopjoni kodin e funksionit tim test.
Thirreni këtë funksion, duke i transmetuar si parametër
një funksion anonim, i cili do të marrë si parametër
një numër dhe do të kthejë kubin e tij.
Modifikoni kodin tuaj në mënyrë që funksioni i transmetuar
të mos jetë anonim, por të jetë i përcaktuar
si Function Declaration me emrin func.
Modifikoni funksionin e transmetuar në Function
Expression me të njëjtin emër func.
Le të supozojmë se funksioni i transmetuar tani merr
dy parametra dhe kthen shumën e tyre. Gjatë
thirrjes së funksionit të transmetuar brenda test
kaloni në funksionin e transmetuar numrin 2
dhe numrin 3. Shfaqni rezultatin.