⊗jsPmFNClb 255 of 505 menu

Функции за обратно извикване в 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 увеличете всеки елемент по два пъти.

Даден е масив със strings. С помощта на създадената от нас функция each обърнете символите на всеки string в обратен ред.

Даден е масив със strings. С помощта на създадената от нас функция each направете главна първата буква на всеки string.

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