Функция

Функция это отрывок кода который может быть вызван из другого кода или вызван собой, или это переменная которая ссылается на функцию. Когда функция вызвана, аргументы переданы в функцию как вход, и функция может необязательно вернуть вывод. Функция в JavaScript это объект.

Имя функции это идентификатор, объявленный как часть объявления функции или выражения функции. Имя функции scope (en-US) зависит от того является ли имя функции объявлением или выражением.

Различные типы функций

Анонимная функция это функция без имени:

js
function () {}

Именованная функция это функция с именем:

js
function foo() {}

Внутренняя функция это функция внутри другой функции (square в данном случае). Внешняя функция это функция содержащая функцию (addSquares в данном случае):

js
function addSquares(a, b) {
  function square(x) {
    return x * x;
  }
  return square(a) + square(b);
}

Рекурсивная функция это функция которая вызывает саму себя. См recursion (en-US).

js
function loop(x) {
  if (x >= 10) return;
  loop(x + 1);
}

Immediately Invoked Function Expressions (IIFE) это функция которая вызывается прямо после того как функция загружена в компилятор браузера. Способ объявления IIFE это путём размещения левых и правых круглых скобок в конце объявления функции. В этом типе выражении функций много преимуществ, но это выходит за рамки курса. Если вы хотите узнать больше об IFFE, проверьте следующую страницу на Википедии.

https://en.wikipedia.org/wiki/Immediately-invoked_function_expression

js
// Примеры:

function foo(){
 console.log('Здравствуй Foo');
}();


(function foo() {
 console.log('Здравствуй Foo');
}());


(function food(){
    console.log('Здравствуй Foo');
})();

Узнайте больше

Технический справочник