⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне