⊗jsPmFNFAP 242 of 505 menu

Прослеђивање функција као параметара у JavaScript-у

Функције, попут бројева, стрингова и низова, могу се прослеђивати као параметри другим функцијама.

Размотримо детаљније на практичном примеру. Претпоставимо да имамо функцију test која прима два параметра:

test(параметар1, параметар2);

Хајде да у први параметар функције test проследимо анонимну функцију која враћа 1, а у други параметр - анонимну функцију која враћа 2:

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

Горњи код још увек није функционалан, јер нисмо креирали саму функцију. Хајде да то урадимо:

function test(func1, func2) { }

При дефинисању функције смо навели два параметра - func1 и func2. Ови параметри не знају ништа о томе шта ће им бити прослеђено. Можемо, на пример, проследити бројеве:

test(1, 2); // позивамо функцију function test(func1, func2) { console.log(func1); // исписаће 1 console.log(func2); // исписаће 2 }

А можемо проследити функције:

test( function() {return 1;}, // први параметар function() {return 2;} // други параметар ); function test(func1, func2) { console.log(func1); // исписаће 'function() {return 1;}' console.log(func2); // исписаће 'function() {return 2;}' }

Као што видите, сада се у конзолу исписује изворни код функција. Хајде да то променимо тако да исписује њихове резултате. За то треба да напишемо заграде након имена функција:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() ); // исписаће 1 console.log( func2() ); // исписаће 2 }

Хајде да испишемо у конзолу збир резултата прве и друге функције:

test( function() {return 1;}, function() {return 2;} ); function test(func1, func2) { console.log( func1() + func2() ); // исписаће 3 }

Направите функцију test која као параметре прима 3 функције. Проследите јој као први параметар функцију која враћа 1, као други - функцију која враћа 2, а као трећи - функцију која враћа 3. Испишите у конзолу збир резултата функција.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј