Функции - ключевая концепция в JavaScript.

Важнейшей особенностью языка является первоклассная поддержка функций​ (functions as first-class citizen). Любая функция это объект, и следовательно ею можно манипулировать как объектом, в частности:

  • передавать как аргумент и возвращать в качестве результата при вызове других функций (функций высшего порядка);
  • создавать анонимно и присваивать в качестве значений переменных или свойств объектов.

В языке программирования JavaScript функции могут быть созданы несколькими способами:

  1. Объявление функции:
function add(a, b) {
  return a + b;
}

Функция создается с помощью ключевого слова “function”, за которым следует имя функции (“add” в этом примере), список параметров в скобках и тело функции в фигурных скобках.

  1. Выражение функции:
var add = function (a, b) {
  return a + b;
};

Функция создается путем присвоения анонимной функции переменной “add”. В этом примере функция не имеет имени, но может быть вызвана через переменную “add”.

  1. Конструктор функции:
var add = new Function("a", "b", "return a + b");

Функция создается с помощью конструктора Function, который принимает список параметров и тело функции в виде строки.

Анонимная самовызывающаяся функция - это функция, которая определяется и выполняется немедленно, без необходимости вызова ее явно отдельно. Она создается путем обертывания функции в круглые скобки, за которыми следует еще одни круглые скобки, содержащие аргументы функции (если они есть), после чего вызывается с помощью оператора вызова функции ”()“. Например:

(function () {
  console.log("Эта функция выполнится сразу после определения");
})();

Эта функция не имеет имени, но определяется и выполняется немедленно при загрузке скрипта. Она может использоваться для создания локальной области видимости, которая защищает переменные от глобальной области видимости, или для выполнения инициализации приложения.


Назад