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:

javascriptfunction 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:

javascriptfunction 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:

javascript// 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:

javascript// Do të shfaqë 9:
test(function(num) {
  return num * num;
});

function test(func) {
  console.log(func(3));
}
Задание 1

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.

Задание 2

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.

Задание 3

Modifikoni funksionin e transmetuar në Function Expression me të njëjtin emër func.

Задание 4

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.