Анонимные функции в JavaScript
Анонимной в JavaScript называют функцию с которой не связано никакое имя или другими словами у такой функции нет имени. Также можно сказать, что если после ключевого слова function или перед знаком стрелочной функции => не стоит имя — функция анонимная. Однако если такую функцию положить в переменную она уже считается именованной.
Анонимная функция недоступна после первоначального создания, поэтому чаще всего она записывается в переменную и дальше с ней происходит работа. Но есть случаи, когда функция так и остается без уникального идентификатора.
Самовызывающаяся функция
Такая анонимная функция выполнится сразу же, как интерпретатор до неё дойдет. В такой записи, функция заключается в круглые скобки () , а после нее добавляется вызов () .
Также запись может быть сделана в стиле стрелочных функций.
Анонимные функции в качестве параметров
Зачем присваивать функции имя, если ее вызов происходит здесь, сейчас и больше нигде.
В данном примере анонимная функция выступает в качестве аргумента функции setTimeout() , и выведет сообщение через пять секунд после загрузки страницы.
Еще один пример, но уже не с кастомной функцией.
function importantQuestion(question, yes, no) < if (confirm(question)) yes() else no(); >importantQuestion( "Вы хотите изучать JavaScript?", function() < alert("Не опускайте руки и у вас все получиться!"); >, function() < alert("Отличная новость! Чем меньше у меня конкурентов, тем выше моя зарплата."); >);
Итого
1. Анонимные функции становятся доступны, только после того, как интерпретатор дойдет до них, таким образом их вызов возможен только после записи функции в коде.
2. Анонимные функции короче и отлично подходят в тех случаях, когда на них не нужно ссылаться в коде.
3. Анонимные функции могут вызывать сами себя.
4. Анонимные функции могут выступать в качестве параметров в других функциях.
Skypro — научим с нуля