Callback функции во JavaScript
Функциите може да се пренесуваат како параметри во други функции. Ваквите функции-параметри се нарекуваат колбэки (callback). Ајде да погледнеме како работат со пример.
Да речеме дека сакаме да направиме функција која што првиот параметар ќе го прима низата, а вториот - колбек, кој што ќе се применува на секој елемент од низата:
function each(arr, callback) {
// тука некој код
}
Ајде да ја напишеме имплементацијата на нашата функција:
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // ја повикуваме функцијата-колбек
}
return result;
}
Нашата функција each - универзална.
Ова значи дека можеме да и пренесуваме
различни колбеци, изведувајќи различни операции
над низите. При тоа кодот на нашата функција ќе остане
непроменет - ќе се менуваат само
пренесуваните колбеци.
Ајде за пример со нашата функција да го подигнеме на квадрат секој елемент од некоја низа. За ова ќе пренесеме како параметар соодветен колбек:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
А сега ајде да ги подигнеме елементите од низата на коцка. За ова како параметар ќе пренесеме веќе друг колбек, кој ја изведува оваа операција:
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
Дадена е низа со броеви. Со помош на создадената
функција each зголемете го секој
елемент за два пати.
Дадена е низа со стрингови. Со помош на создадената
функција each превртете ги симболите
на секој стринг во обратен редослед.
Дадена е низа со стрингови. Со помош на создадената
функција each направете го првиот
симбол на секој стринг голема буква.