⊗jsPmFAFAP 242 of 505 menu

Funktioiden välittäminen parametreina JavaScriptissä

Funktiot, kuten numerot, merkkijonot ja taulukot, voivat välittyä parametreina muihin funktioihin.

Tarkastellaan tarkemmin käytännön esimerkillä. Oletetaan, että meillä on funktio test, joka vastaanottaa kaksi parametria:

test(parametri1, parametri2);

Annetaan funktion test ensimmäiseen parametriin anonyymi funktio, joka palauttaa 1, ja toiseen parametriin - anonyymi funktio, joka palauttaa 2:

test( function() {return 1;}, function() {return 2;} );

Yllä oleva koodi ei toistaiseksi toimi, koska emme ole luoneet itse funktiota. Tehdään se:

function test(func1, func2) { }

Määriteltäessä funktiota osoitimme kaksi parametria - func1 ja func2. Nämä parametrit eivät tiedä mitään siitä, mitä niihin välitetään. Voimme esimerkiksi välittää numeroita:

test(1, 2); // kutsutaan funktiota function test(func1, func2) { console.log(func1); // tulostaa 1 console.log(func2); // tulostaa 2 }

Tai voimme välittää funktiot:

test( function() {return 1;}, // ensimmäinen parametri function() {return 2;} // toinen parametri ); function test(func1, func2) { console.log(func1); // tulostaa 'function() {return 1;}' console.log(func2); // tulostaa 'function() {return 2;}' }

Kuten näette, nyt konsoliin tulostuu funktioiden lähdekoodi. Tehdään niin, että se tulostaa niiden tulokset. Kirjoitetaan tätä varten funktioille pyöreät sulkeet:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() ); // tulostaa 1 console.log( func2() ); // tulostaa 2 }

Konsoliin tulostetaan ensimmäisen ja toisen funktion tulosten summa:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() + func2() ); // tulostaa 3 }

Tee funktio test, jonka parametreina on 3 funktiota. Välitä siihen ensimmäisenä parametrina funktio, joka palauttaa 1, toisena - funktio, joka palauttaa 2, kolmantena - funktio, joka palauttaa 3. Tulosta konsoliin funktioiden tulosten summa.

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ää