Функция
Функция это отрывок кода который может быть вызван из другого кода или вызван собой, или это переменная которая ссылается на функцию. Когда функция вызвана, аргументы переданы в функцию как вход, и функция может необязательно вернуть вывод. Функция в JavaScript это объект.
Имя функции это идентификатор, объявленный как часть объявления функции или выражения функции. Имя функции scope (en-US) зависит от того является ли имя функции объявлением или выражением.
Различные типы функций
Анонимная функция это функция без имени:
function () {}
Именованная функция это функция с именем:
function foo() {}
Внутренняя функция это функция внутри другой функции (square
в данном случае). Внешняя функция это функция содержащая функцию (addSquares
в данном случае):
function addSquares(a,b) {
function square(x) {
return x * x;
}
return square(a) + square(b);
}
Рекурсивная функция это функция которая вызывает саму себя. См recursion (en-US).
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
// Примеры:
function foo(){
console.log('Здравствуй Foo');
}();
(function foo() {
console.log('Здравствуй Foo');
}());
(function food(){
console.log('Здравствуй Foo');
})();