Функция

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

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

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

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

js
function () {}

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

js
function foo() {}

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

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

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

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');
})();

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

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