Синтаксис функций JavaScript: свойства и методы

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

Этот объект содержит свойства, например:

  • prototype: свойство, присутствующее в каждом объекте JavaScript.
  • length: количество параметров функции.
  • name: имя функции.
  • [[FunctionLocation]]: скрытое свойство, указывающее местоположение функции в JavaScript-файле (например, index.js:5).
  • [[Scopes]]: скрытое свойство, содержащее цепочку областей видимости.

Синтаксис объявления функции

Рассмотрим синтаксис функции, объявленной с помощью function declaration:

function myFn(a, b) {
  let c;
  a = a + 1;
  c = a + b;
  return c;
}
  • function: зарезервированное ключевое слово.
  • myFn: имя функции.
  • (a, b): список параметров, разделенных запятыми. Ключевые слова let, var или const здесь не нужны.
  • { }: фигурные скобки ограничивают тело функции. Внутри можно использовать любые выражения или операторы JavaScript.
  • return c;: ключевое слово return возвращает результат функции (значение переменной c). Отсутствие точки с запятой после закрывающей фигурной скобки допустимо в JavaScript.

Функция создается при объявлении, но выполняется только при вызове.

Вызов функции

Функцию вызывают, используя её имя и круглые скобки:

myFn(10, 3);

При вызове:

  1. Параметрам a и b присваиваются значения аргументов (10 и 3).
  2. Выполняются операторы внутри тела функции.
  3. Возвращается значение, вычисленное выражением после return (14).

Для вывода результата в консоль используется console.log:

console.log(myFn(10, 3)); // Выведет 14 в консоль

Параметры и аргументы

  • Параметры: имена переменных в объявлении функции (например, a и b в myFn(a, b)).
  • Аргументы: значения, передаваемые функции при вызове (например, 10 и 3 в myFn(10, 3)).

Параметры получают значения аргументов при каждом вызове.

Область видимости

Переменные, объявленные внутри функции (например, a, b, c), имеют локальную область видимости. Они доступны только внутри функции. Попытка обратиться к ним снаружи приведет к ошибке ReferenceError: variable is not defined. Параметры функции также имеют локальную область видимости.

Необязательные элементы

  • Параметры: параметры функции могут быть необязательными.
  • return: ключевое слово return также необязательно. Без него функция неявно возвращает undefined.

Пример простейшей функции:

function myFn() {}

Вызов этой функции вернет undefined.

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

Что будем искать? Например,программа