--- title: Функция slug: Glossary/Function tags: - JavaScript - Глоссарий - КодингСкриптинг - Функция translation_of: Glossary/Function original_slug: Глоссарий/Функция --- <p><strong>Функция</strong> это отрывок кода который может быть вызван из другого кода или вызван собой, или это {{glossary("variable","переменная")}} которая ссылается на функцию. Когда функция вызвана, {{glossary("argument","аргументы")}} переданы в функцию как вход, и функция может необязательно вернуть вывод. Функция в {{glossary("JavaScript")}} это {{glossary("object","объект")}}.</p> <p>Имя функции это {{Glossary("identifier","идентификатор")}}, объявленный как часть объявления функции или выражения функции. Имя функции {{Glossary("scope")}} зависит от того является ли имя функции объявлением или выражением.</p> <h3 id="Различные_типы_функций">Различные типы функций</h3> <p><strong>Анонимная функция</strong> это функция без имени:</p> <pre class="brush: js">function () {}</pre> <p><strong>Именованная функция</strong> это функция с именем:</p> <pre class="brush: js">function foo() {}</pre> <p><strong>Внутренняя функция</strong> это функция внутри другой функции (<code>square</code> в данном случае).<strong> Внешняя функция</strong> это функция содержащая функцию (<code>addSquares</code> в данном случае):</p> <dl> </dl> <pre class="brush: js">function addSquares(a,b) { function square(x) { return x * x; } return square(a) + square(b); }</pre> <p><strong>Рекурсивная функция</strong> это функция которая вызывает саму себя. См {{Glossary("Recursion", "recursion")}}.</p> <pre class="brush: js">function loop(x) { if (x >= 10) return; loop(x + 1); } </pre> <p><strong>Immediately Invoked Function Expressions</strong> (IIFE) это функция которая вызывается прямо после того как функция загружена в компилятор браузера. Способ объявления IIFE это путём размещения левых и правых круглых скобок в конце объявления функции. В этом типе выражении функций много преимуществ, но это выходит за рамки курса. Если вы хотите узнать больше об IFFE, проверьте следующую страницу на Википедии.</p> <p><a href="https://en.wikipedia.org/wiki/Immediately-invoked_function_expression">https://en.wikipedia.org/wiki/Immediately-invoked_function_expression</a></p> <pre class="brush: js">// Примеры: function foo(){ console.log('Здравствуй Foo'); }(); (function foo() { console.log('Здравствуй Foo'); }()); (function food(){ console.log('Здравствуй Foo'); })();</pre> <h2 id="Узнайте_больше">Узнайте больше</h2> <h3 id="Технический_справочник">Технический справочник</h3> <ul> <li><a href="/ru/docs/Web/JavaScript/Guide/Functions">Функции</a></li> </ul>