⊗jsPmFNFAP 242 of 505 menu

Funkcijų perdavimas parametrais JavaScript

Funkcijos, panašiai kaip skaičiai, eilutės ir masyvai, gali būti perduodamos parametrais į kitas funkcijas.

Pažvelkime atidžiau į praktinį pavyzdį. Tarkime, kad turime funkciją test, kuri priima du parametrus:

test(parametras1, parametras2);

Pirmąjį funkcijos test parametrą perduokime anoniminę funkciją, grąžinančią 1, o antrają parametrą - anoniminę funkciją, grąžinančią 2:

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

Aukščiau pateiktas kodas kol kas neveikia, nes mes nesukūrėme pačios funkcijos. Sukurkime ją:

function test(func1, func2) { }

Apibrėždami funkciją nurodėme du parametrus - func1 ir func2. Šie parametrai nieko nežino apie tai, kas į juos bus perduodama. Galime, pavyzdžiui, perduoti skaičius:

test(1, 2); // iškviečiame funkciją function test(func1, func2) { console.log(func1); // išves 1 console.log(func2); // išves 2 }

O galime perduoti funkcijas:

test( function() {return 1;}, // pirmasis parametras function() {return 2;} // antrasis parametras ); function test(func1, func2) { console.log(func1); // išves 'function() {return 1;}' console.log(func2); // išves 'function() {return 2;}' }

Kaip matote, dabar į konsolę išvedamas pradinis funkcijų kodas. Padarykime taip, kad jis išvestų jų rezultatus. Tam parašykime prie funkcijų apvalius skliaustus:

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

Išveskime į konsolę pirmos ir antros funkcijos rezultatų sumą:

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

Sukurkite funkciją test, parametrais priimančią 3 funkcijas. Perduokite į ją pirmuoju parametru funkciją, grąžinančią 1, antruoju - funkciją, grąžinančią 2, trečiuoju - funkciją, grąžinančią 3. Išveskite į konsolę funkcijų rezultatų sumą.

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