⊗jsPmFNClb 255 of 505 menu

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 направете го првиот симбол на секој стринг голема буква.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј