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 сонларини ўтказасиз. Натижани чиқаринг.