@xGreen_Max
Js

Два синтаксиса функций?

Вот обычный понятный мне синтаксис функции.
function welcome(){

}


А что за этот чудо-синтаксис?
Можете пожалуйста объяснить?
dok(function(){

});
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега PHP
♬♬
В функцию dok() аргументом передали анонимную функцию function() { }

Внутри dok() { } принятую функцию как-то используют, может, вызовут.
Например, как коллбэк в array_map():

function dok(callable $func)
{
    $result = array_map($func, [1, 2, 3]);
    echo implode(', ', $result);
}

dok( function($x) { return $x * 2; } ); // 2, 4, 6

dok( function() { return "Habr"; } ); // Habr, Habr, Habr

Наверное, просто пока непривычно, что функцию вполне можно «положить» в переменную, как любое другое значение:$f1 = function() { echo "Надо же!"; };и затем передать эту переменную в другую функцию как аргумент: dok( $f1 );
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Fockker
@Fockker Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы