# Параметры передаваемых функций в JavaScript

Пусть у нас есть функция `test`, которая параметром принимает другую функцию и в консоль выводит результат работы этой переданной функции:

`function test(func) { console.log( func() ); }`

Пусть переданная функция `func` параметром принимает число и что-то с ним делает. Передадим ей, например, число `3`:

`function test(func) { console.log( func(3) ); }`

Давайте теперь вызовем функцию `test`, передав в нее параметром анонимную функцию. Эта анонимная функции параметром будет принимать число и возвращать квадрат этого числа.

В результате всего этого наша конструкция выведет квадрат числа `3`, то есть `9`:

`// Выведет 9: test( function(num) { return num * num; } ); function test(func) { console.log(func(3)); }`

Оформим код более изящно:

`// Выведет 9: test(function(num) { return num * num; }); function test(func) { console.log(func(3)); }`

Скопируйте код моей функции `test`. Вызовите эту функцию, передав ей параметром анонимную функцию, которая параметром будет принимать число и возвращать его куб.

Переделайте ваш код так, чтобы передаваемая функция была не анонимной, а была определена как Function Declaration с именем `func`.

Переделайте передаваемую функцию на Function Expression с тем же именем `func`.

Пусть передаваемая функция теперь принимает два параметра и возвращает их сумму. При вызове передаваемой функции внутри `test` передайте в передаваемую функцию число `2` и число `3`. Выведите алертом результат.

← →
↑
en ru