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

Сиздин кодду өзгөртүңүз, берилүүчү функция анонимдик эмес, ал func аты менен Function Declaration түрүндө аныкталсын.

Задание 3

Берилүүчү функцияны ошол эле func аты менен Function Expression түрүнө өзгөртүңүз.

Задание 4

Берилүүчү функция эми эки параметрди кабыл алып, алардын суммасын кайтарсын деп коёлу. test ичинде берилүүчү функцияны чакырганда берилүүчү функцияга 2 санын жана 3 санын бериңиз. Натыйжаны чыгарыңыз.