Параметри прослеђених функција у JavaScript-у

Нека имамо функцију test која параметром прима другу функцију и у конзолу исписује резултат рада те прослеђене функције:

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

Нека прослеђена функција func параметром прима број и нешто са њим ради. Проследимо јој, на пример, број 3:

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

Хајде сада да позовемо функцију test, проследивши у њу параметром анонимну функцију. Ова анонимна функција параметром ће примати број и враћати квадрат тог броја.

Као резултат свега овога наша конструкција ће исписати квадрат броја 3, то јест 9:

javascript// Исписаће 9:
test(
  function(num) {
    return num * num;
  }
);

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

Оформимо код елегантније:

javascript// Исписаће 9:
test(function(num) {
  return num * num;
});

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

Копирајте код моје функције test. Позовите ову функцију, проследивши јој параметром анонимну функцију, која параметром ће примати број и враћати његов куб.

Задание 2

Прерадите ваш код тако да прослеђена функција не буде анонимна, већ да буде дефинисана како Function Declaration са именом func.

Задание 3

Прерадите прослеђену функцију у Function Expression са истим именом func.

Задание 4

Нека прослеђена функција сада прима два параметра и враћа њихов збир. При позиву прослеђене функције унутар test проследите у прослеђену функцију број 2 и број 3. Испишите резултат.