Vigezo vya Kazi zinazopitishwa katika JavaScript

Hebu tuchukulie tuna kazi test ambayo inapokea kazi nyingine kama kigezo na inatoa matokeo ya kazi hiyo iliyopitishwa kwenye koni:

javascriptfunction test(func) {
  console.log( func() );
}

Hebu kazi iliyopitishwa func ipokee nambari kama kigezo na ifanye kitu nayo. Tuitapishe, kwa mfano, nambari 3:

javascriptfunction test(func) {
  console.log( func(3) );
}

Sasa hebu tuite kazi test, ukimpa kazi isiyo na jina kama kigezo. Kazi hii isiyo na jina itapokea nambari kama kigezo na kurudisha mraba wa nambari hiyo.

Kwa matokeo ya yote hii muundo wetu utatoa mraba wa nambari 3, yaani 9:

javascript// Itatoa 9:
test(
  function(num) {
    return num * num;
  }
);

function test(func) {
  console.log(func(3));
}

Tuandae msimbo kwa urembo zaidi:

javascript// Itatoa 9:
test(function(num) {
  return num * num;
});

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

Nakili msimbo wa kazi yangu test. Iita kazi hii, ukiipitishia kazi isiyo na jina kama kigezo, ambayo itapokea nambari kama kigezo na kurudisha mchemraba wake.

Задание 2

Badilisha msimbo wako ili kazi inayopitishwa isije kuwa isiyo na jina, bali ifafanuliwe kama Function Declaration kwa jina func.

Задание 3

Badilisha kazi inayopitishwa kuwa Function Expression kwa jina lile lile func.

Задание 4

Hebu kazi inayopitishwa sasa ipokee vigezo viwili na irudishe jumla yao. Wakati wa kuita kazi inayopitishwa ndani ya test pitisha kwenye kazi inayopitishwa nambari 2 na nambari 3. Toa matokeo.