Функции

Модуль 1: Web Core
18 уровень , 2 лекция
Открыта

3.1 Объявление функций

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

Объявление функции — это способ создания именованной функции, которую можно вызвать позднее. Такие функции «поднимаются» (hoisted) на вершину их области видимости, что позволяет их вызывать до объявления в коде.

Синтаксис:

    
      function name (arguments) {
        // function body
      }
    
  

Пример использования:

JavaScript
    
      // Объявление функции
      function greet(name) {
        return `Hello, ${name}!`;
      }

      // Вызов функции
      console.log(greet('Alice')); // Выведет: Hello, Alice!
    
  

3.2 Выражения функций

Выражения функций создают анонимные функции (функции без имени) и могут быть присвоены переменной. Такие функции не «всплывают», поэтому их можно вызвать только после объявления.

Синтаксис:

    
      const name = function (arguments) {
        // function body
      }
    
  

Пример использования:

JavaScript
    
      // Выражение функции

      const greet = function(name) {
        return `Hello, ${name}!`;
      };

      // Вызов функции
      console.log(greet('Bob')); // Выведет: Hello, Bob!
    
  

3.3 Функции-стрелки

Функции-стрелки (arrow functions) — это краткий способ объявления функций, который также сохраняет контекст this из родительской области видимости. У функций-стрелок нет собственного this, поэтому они особенно полезны в обработчиках событий и методах массивов.

Синтаксис:

    
      const name = (arguments) => {
        // function body
      }
    
  

Если функция принимает один параметр, круглые скобки можно опустить. Если функция возвращает одно выражение, можно опустить фигурные скобки и ключевое слово return.

Пример 1: Полная запись

JavaScript
    
      // Функция-стрелка

      const greet = (name) => {
        return `Hello, ${name}!`;
      };

      // Вызов функции
      console.log(greet('Charlie')); // Выведет: Hello, Charlie!
    
  

Пример 2: Сокращенная запись

JavaScript
    
      // Функция-стрелка с одним параметром и одним выражением
      const greet = name => `Hello, ${name}!`;

      // Вызов функции
      console.log(greet('Dana')); // Выведет: Hello, Dana!
    
  

3.4 Сравнение способов объявления функций

Подъем (hoisting):

  • Объявление функций: функции поднимаются, что позволяет их вызывать до объявления
  • Выражения функций и Функции-стрелки: не поднимаются, их можно вызывать только после объявления

Контекст this:

  • Объявление функций и Выражения функций: имеют собственный контекст this
  • Функции-стрелки: не имеют собственного this, контекст наследуется от родительской области видимости

Удобство записи:

  • Функции-стрелки: более лаконичны и часто используются для коротких функций и коллбэков
1
Задача
Модуль 1: Web Core, 18 уровень, 2 лекция
Недоступна
Функция в переменной
Функция в переменной
1
Задача
Модуль 1: Web Core, 18 уровень, 2 лекция
Недоступна
Функция-стрелка
Функция-стрелка
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Анастасия Уровень 27
6 августа 2025
Ещё бы понимать, что такое this.... Ещё про return вообще ничего не было, хотя лучше бы про него сказали! return - это возвращение из функции, после него ничего не надо писать!!! (всё равно не выполнится) Так же есть функции в которых идет просто какая-то обработка и return вообще нет. Так же можно просто прописать return; и тогда будет выход из функции без возвращения какой - либо информации, например:

function greet(name) {
    console.log(`Hello, ${name}!`);
    return;
}
console.log(greet("Test"));
Это удобно прописывать в каких либо условиях, когда следующее выполнение функции уже не нужно будет(при каком-либо условии):

function greet(name) {
    if (!name) {
        console.log("Имя пустое...");
        return;
    }
    console.log(`Hello, ${name}!`);
}
console.log(greet());
Михаил Уровень 30
21 октября 2025
Но если мы пришли после курса пайтона мы должны вроде как понимать что как бы если есть ретурн в фнукции то это и есть выход из функции нет?
Ислам Уровень 18
3 февраля 2025
про this до его изучения можно было и не заикаться