⊗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 павялічце кожны элемент у два разы.

Дадзены масіў з радкамі. З дапамогай створанай намі функцыі each перавярніце сімвалы кожнага радка ў адваротным парадку.

Дадзены масіў з радкамі. З дапамогай створанай намі функцыі each зрабіце загалоўнай першы сімвал кожнага радка.

Беларуская
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
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць