Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: closure, lexical

Что будет возвращать функция-счётчик при использовании замыкания

Вопрос проверяет понимание замыканий и сохранения состояния между вызовами функции.

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

Функция-счётчик будет возвращать увеличивающееся значение при каждом вызове. Это возможно потому, что внутренняя функция сохраняет доступ к переменной из внешней функции. Такая переменная не уничтожается после выполнения, а продолжает жить в замыкании. Каждый вызов использует одно и то же сохраненное состояние.

Длинный ответ

Определение

Замыкание — это функция, которая имеет доступ к переменным внешней области видимости даже после завершения выполнения этой области.

Пример счётчика

function createCounter() {
  let count = 0;

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

const counter = createCounter();

Поведение при вызовах

counter(); // 1
counter(); // 2
counter(); // 3

Что здесь важно

  1. count создается один раз

  2. Он недоступен извне напрямую

  3. Все вызовы работают с одной и той же переменной

Почему это полезно

  1. Инкапсуляция состояния

  2. Отсутствие глобальных переменных

  3. Часто используется в:

    • счётчиках

    • кешировании

    • фабриках функций

Вывод

Функция-счётчик с замыканием возвращает возрастающее значение, потому что внутренняя функция сохраняет и изменяет состояние между вызовами.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#closure

#lexical

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию