⊗jsPmFNFAP 242 of 505 menu

Funkciju padošana kā parametri JavaScript

Funkcijas, līdzīgi kā skaitļi, virknes un masīvi, var tikt padotas kā parametri citās funkcijās.

Apskatīsim sīkāk praktiskā piemērā. Pieņemsim, ka mums ir funkcija test, kas pieņem dus parametrus:

test(parametrs1, parametrs2);

Iesniegsim pirmajā funkcijas test parametrā anonīmu funkciju, kas atgriež 1, bet otrajā parametrā - anonīmu funkciju, kas atgriež 2:

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

Iepriekš minētais kods pagaidām nedarbojas, jo mēs neesam izveidojuši pašu funkciju. Izveidosim to:

function test(func1, func2) { }

Definējot funkciju, mēs norādījām divus parametrus - func1 un func2. Šie parametri neko nezina par to, kas tajos tiks padots. Mēs, piemēram, varam padot skaitļus:

test(1, 2); // izsaucam funkciju function test(func1, func2) { console.log(func1); // izvadīs 1 console.log(func2); // izvadīs 2 }

Bet mēs varam arī padot funkcijas:

test( function() {return 1;}, // pirmais parametrs function() {return 2;} // otrais parametrs ); function test(func1, func2) { console.log(func1); // izvadīs 'function() {return 1;}' console.log(func2); // izvadīs 'function() {return 2;}' }

Kā jūs redzat, tagad konsolē tiek izvadīts funkciju pirmavota kods. Padarīsim tā, lai tas izvadītu to rezultātus. Lai to izdarītu, pierakstīsim funkcijām apaļās iekavas:

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

Izvadīsim konsolē pirmās un otrās funkcijas rezultātu summu:

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

Izveidojiet funkciju test, kuras parametros tiek pieņemtas 3 funkcijas. Padodiet tajā pirmajā parametrā funkciju, kas atgriež 1, otrajā - funkciju, kas atgriež 2, trešajā - funkciju, kas atgriež 3. Izvadiet konsolē funkciju rezultātu summu.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt