⊗jsPmFNClb 255 of 505 menu

Atgalinio iškvietimo funkcijos JavaScript

Funkcijas galima perduoti kaip parametrus kitoms funkcijoms. Tokios funkcijos-parametrai vadinamos atgalinio iškvietimo funkcijomis (callback). Pažiūrėkime jų veikimą pavyzdžiu.

Tarkime, norime sukurti funkciją, kuri pirmuoju parametru priims masyvą, o antruoju - atgalinio iškvietimo funkciją, kuri bus taikoma kiekvienam masyvo elementui:

function each(arr, callback) { // čia kažkoks kodas }

Parašykime mūsų funkcijos realizaciją:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // iškviečiame atgalinio iškvietimo funkciją } return result; }

Mūsų funkcija each - universali. Tai reiškia, kad galime perduoti jai įvairias atgalinio iškvietimo funkcijas, atlikdami skirtingus veiksmus su masyvais. Tuo pačiu mūsų funkcijos kodas išliks nepakitęs - keistis tik perduodamos atgalinio iškvietimo funkcijos.

Pavyzdžiui, naudodami mūsų funkciją pakelkime kvadratu kiekvieną elementą kažkokio masyvo. Tam perduosime kaip parametrą atitinkamą atgalinio iškvietimo funkciją:

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

O dabar pakelkime masyvo elementus kubu. Tam kaip parametrą perduosime jau kitą atgalinio iškvietimo funkciją, atliekančią šią operaciją:

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

Duotas masyvas su skaičiais. Naudodamiesi mūsų sukurtąja funkcija each, padidinkite kiekvieną elementą dvigubai.

Duotas masyvas su eilutėmis. Naudodamiesi mūsų sukurtąja funkcija each, apverskite kiekvienos eilutės simbolius atvirkštine tvarka.

Duotas masyvas su eilutėmis. Naudodamiesi mūsų sukurtąja funkcija each, padarykite didžiąja raide pirmąjį kiekvienos eilutės simbolį.

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