⊗jsPmFNClb 255 of 505 menu

Tagasikutsefunktsioonid JavaScriptis

Funktsioone saab edastada parameetritena teistesse funktsioonidesse. Selliseid funktsioone-parameetreid nimetatakse tagasikutseteks (callback). Vaatame nendega töötamist näite abil.

Oletame, et tahame teha funktsiooni, mis esimese parameetrina võtab massiivi ja teise - tagasikutse, mida rakendatakse igale elemendile massiivis:

function each(arr, callback) { // siin on mingi kood }

Kirjutame meie funktsiooni realisatsiooni:

function each(arr, callback) { let result = []; for (let elem of arr) { result.push( callback(elem) ); // kutsume välja tagasikutsefunktsiooni } return result; }

Meie funktsioon each on universaalne. See tähendab, et me saame sellesse edastada erinevaid tagasikutseid, tehes erinevaid operatsioone massiividega. Samal ajal meie funktsiooni kood jääb muutumatuks - muutuvad ainult edastatavad tagasikutsed.

Teeme näiteks meie funktsiooni abil mõne massiivi iga elemendi ruutu. Selleks edastame parameetrina vastava tagasikutse:

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

Ja nüüd tõstame massiivi elemendid kuupi. Selleks edastame parameetrina juba teise tagasikutse, mis teeb selle operatsiooni:

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

Antud on arvude massiiv. Meie loodud funktsiooni each abil suurendage iga element kaks korda.

Antud on stringide massiiv. Meie loodud funktsiooni each abil pöörake iga stringi sümbolid vastupidises järjekorras.

Antud on stringide massiiv. Meie loodud funktsiooni each abil tehke iga stringi esimene sümbol suureks täheks.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu