⊗jsPmFAClb 255 of 505 menu

Callback-funktiot JavaScriptissä

Funktioita voidaan välittää parametreina muihin funktioihin. Tällaisia funktioparametreja kutsutaan callback-funktioiksi (callback). Katsotaan niiden toimintaa esimerkin avulla.

Oletetaan, että haluamme tehdä funktion, joka ensimmäisenä parametrina vastaanottaa taulukon ja toisena - callback-funktion, jota sovelletaan jokaisen taulukon alkioon:

function each(arr, callback) { // tässä on jotain koodia }

Kirjoitetaan funktiomme toteutus:

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

Funktiomme each on yleiskäyttöinen. Tämä tarkoittaa, että voimme välittää siihen erilaisia callback-funktioita suorittaen erilaisia operaatioita taulukoille. Samalla funktiomme koodi pysyy muuttumattomana - vain välitettävät callback-funktiot muuttuvat.

Esimerkkinä käytetään funktiotamme nostaaksemme neliöön jokaisen alkion jossain taulukossa. Välitämme tätä varten vastaavan callback-funktion parametrina:

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

Nyt nostetaan taulukon alkiot kuutioon. Tätä varten parametrina välitetään toinen callback-funktio, joka suorittaa tämän operaation:

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

Annettu taulukko numeroita. Luomamme funktion each avulla kaksinkertaista jokainen alkio.

Annettu taulukko merkkijonoja. Luomamme funktion each avulla käännä kunkin merkkijonon merkit väärinpäin.

Annettu taulukko merkkijonoja. Luomamme funktion each avulla muuta kunkin merkkijonon ensimmäinen kirjain isoksi.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää