⊗jsPmFNClb 255 of 505 menu

Callback funkcijas JavaScript

Funkcijas var padot kā parametrus citām funkcijām. Šādas funkcijas-parametri tiek sauktas par callback funkcijām (callback). Apskatīsim darbu ar tām piemērā.

Pieņemsim, ka mēs vēlamies izveidot funkciju, kas pirmo parametru pieņems masīvu, bet otro - callback funkciju, kas tiks piemērota katram masīva elementam:

function each(arr, callback) { // šeit kāds kods }

Uzrakstīsim mūsu funkcijas realizāciju:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // izsaucam callback funkciju } return result; }

Mūsu funkcija each - universāla. Tas nozīmē, ka mēs varam tai padot dažādas callback funkcijas, veicot dažādas operācijas ar masīviem. Šajā gadījumā mūsu funkcijas kods paliks nemainīgs - mainīsies tikai padotās callback funkcijas.

Piemēram, izmantosim mūsu funkciju, lai katru elementu kādā masīvā paceļu kvadrātā. Lai to izdarītu, padodam kā parametru atbilstošo callback funkciju:

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

Tagad paceļim masīva elementus kubā. Lai to izdarītu, kā parametru padodam citu callback funkciju, kas veic šo operāciju:

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

Dots skaitļu masīvs. Izmantojot mūsu izveidoto funkciju each, palieliniet katru elementu divas reizes.

Dots virkņu masīvs. Izmantojot mūsu izveidoto funkciju each, apgrieziet katras virknes rakstzīmes apgrieztā secībā.

Dots virkņu masīvs. Izmantojot mūsu izveidoto funkciju each, padariet lielo burtu katrai virknes pirmajai rakstzīmei.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt