Пусть у нас есть функция 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. Выведите алертом результат.