Что такое функция в JavaScript?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Типы функций:

  • Объявление функции (Function Declaration):

    // Объявление функции 'greet'
    function greet(name) {
      return "Привет, " + name + "!";
    }
    
  • Функциональное выражение (Function Expression):

    // Функциональное выражение, присвоенное переменной 'sayHello'
    const sayHello = function(name) {
      return "Привет, " + name + "!";
    };
    
  • Стрелочная функция (Arrow Function):

    // Стрелочная функция для короткого синтаксиса
    const multiply = (a, b) => a * b;
    

Ключевые особенности:

  • Первоклассные объекты (First-Class Objects): Функции могут быть присвоены переменным, переданы как аргументы в другие функции и возвращены из других функций.
  • Области видимости (Scope): Функции создают свои собственные области видимости переменных (локальные переменные).
  • Замыкания (Closures): Функции могут "запоминать" и иметь доступ к переменным из своей внешней области видимости, даже после того, как эта внешняя функция завершила выполнение.

Пример замыкания:

function createCounter() {
  let count = 0; // Переменная во внешней области видимости

  return function() {
    count++;
    return count;
  };
}

const counter = createCounter();
console.log(counter()); // Вывод: 1
console.log(counter()); // Вывод: 2

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее