JavaScriptда функцияларни ўтказиш параметрлари
Фарз қилайлик, бизда test функцияси бор бўлсин, у
параметр сифатида бошқа функцияни қабул қилади ва
консолга ўша ўтказилган функциянинг ишлаш натижасини чиқаради:
function test(func) {
console.log( func() );
}
Фарз қилайлик, ўтказилган func функцияси
параметр сифатида сонни қабул қилади ва у билан бирор амал бажаради. Унга
масалан, 3 сонини ўтайлик:
function test(func) {
console.log( func(3) );
}
Келинг энди test функциясини чақириб,
унга параметр сифатида номсиз функцияни ўтказайлик.
Ушбу номсиз функция параметр сифатида сонни
қабул қилади ва шу соннинг квадратини қайтаради.
Буннинг барчаси натижасида бизнинг конструкциямиз
3 сонининг квадратини, яъни 9 ни чиқаради:
// 9 ни чиқаради:
test(
function(num) {
return num * num;
}
);
function test(func) {
console.log(func(3));
}
Кодни яна чиройлирок қилиб ёзайлик:
// 9 ни чиқаради:
test(function(num) {
return num * num;
});
function test(func) {
console.log(func(3));
}
Менинг test функциям кодингизга нусхаланг.
Ушбу функцияни чақиринг, унга параметр сифатида
номсиз функцияни ўтказасиз, у функция параметр сифатида
сонни қабул қилиб, унинг кубини қайтаради.
Сизнинг кодингизни шундай ўзгартирингки, ўтказилаётган
функция номсиз эмас, балки Function Declaration сифатида
func номи билан аниқланган бўлсин.
Ўтказилаётган функцияни Function Expression га ўзгартиринг,
ўша func номи билан.
Фарз қилайлик, ўтказилаётган функция энди
иккита параметрни қабул қилади ва уларнинг йиғиндисини қайтаради.
test ичида ўтказилаётган функцияни чақирганда
ўтказилаётган функцияга 2 ва 3 сонларини ўтказасиз. Натижани чиқаринг.