⊗jsPmFNClb 255 of 505 menu

Callback funkce v JavaScriptu

Funkce lze předávat jako parametry do jiných funkcí. Takové funkce-parametry se nazývají kolbeky (callback). Podívejme se na jejich práci na příkladu.

Předpokládejme, že chceme vytvořit funkci, která prvním parametrem přijme pole a druhým - kolbek, který bude aplikován na každý prvek pole:

function each(arr, callback) { // zde nějaký kód }

Napišme implementaci naší funkce:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // voláme funkci-kolbek } return result; }

Naše funkce each je univerzální. To znamená, že do ní můžeme předávat různé kolbeky a provádět různé operace nad poli. Přitom kód naší funkce zůstane nezměněn - budou se měnit pouze předávané kolbeky.

Pro příklad pomocí naší funkce umocněme na druhou každý prvek nějakého pole. Pro tento účel předáme jako parametr odpovídající kolbek:

let result = each([1, 2, 3, 4, 5], function(num) { return num ** 2; }); console.log(result);

A nyní umocněme prvky pole na třetí. Pro tento účel jako parametr předáme již jiný kolbek, provedoucí tuto operaci:

let result = each([1, 2, 3, 4, 5], function(num) { return num ** 3; }); console.log(result);

Je dáno pole s čísly. Pomocí naší vytvořené funkce each zvětšete každý prvek dvakrát.

Je dáno pole s řetězci. Pomocí naší vytvořené funkce each otočte znaky každého řetězce v opačném pořadí.

Je dáno pole s řetězci. Pomocí naší vytvořené funkce each udělejte velkým první znak každého řetězce.

hiidhydams