Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

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

Вопросы React Frontend Developer


Что такое замыкания в JavaScript и почему они важны?

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

Подробнее

Как избежать утечек памяти при использовании замыканий и событийных слушателей?

Чтобы избежать утечек памяти при использовании замыканий, нужно следить за тем, чтобы замыкания не удерживали ненужные ссылки на объекты. Удаление событийных слушателей, когда они больше не нужны, также критично для предотвращения утечек. Для этого можно использовать методы removeEventListener и обернуть функции в локальные контексты, чтобы избежать ненужного хранения ссылок.

Подробнее

Где на практике используются замыкания?

Замыкания широко используются для хранения состояния, инкапсуляции данных и работы с асинхронным кодом. Они позволяют скрывать переменные от внешнего мира. Часто применяются в обработчиках событий, таймерах и колбэках. Также замыкания лежат в основе многих паттернов проектирования. Практически любой современный JavaScript-код использует их неявно.

Подробнее

Как реализовать счётчик с помощью замыкания?

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

Подробнее

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

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

Подробнее

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

Имеет ли импортированная функция доступ к своей лексической области видимости?

Как замыкания позволяют сохранять доступ к переменным внешней функции?

Как замыкания работают внутри циклов?

Как замыкание влияет на значения, захваченные внутри setTimeout?

  • Рейтинг:

    5

  • Сложность:

    8

Несколько вызовов функции могут ссылаться на одну и ту же переменную, если эта переменная находится во внешнем лексическом окружении. Замыкание не копирует значение переменной, а сохраняет ссылку на неё. Поэтому все функции, созданные в одном окружении, работают с одним и тем же состоянием. Изменение переменной в одном месте будет видно во всех остальных.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    8

Да, импортированная функция полностью сохраняет доступ к своей лексической области видимости. Импорт не влияет на окружение, в котором функция была объявлена. Функция всегда работает с теми переменными, которые были доступны ей в момент создания. Место вызова не имеет значения. Это следует из лексической модели JavaScript.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    5

Замыкание возникает, когда внутренняя функция запоминает переменные из внешней функции, даже после её завершения. JavaScript сохраняет ссылку на лексическое окружение, в котором функция была создана. Благодаря этому внутренняя функция может читать и изменять эти переменные. Замыкания часто используются для инкапсуляции данных. Это один из базовых механизмов языка.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    4

Замыкание — это функция, которая запоминает свою внешнюю область видимости. В цикле с var переменная i общая для всех итераций, поэтому после завершения цикла все замыкания увидят последнее значение i. Использование let создаёт новую переменную на каждой итерации, решая проблему. Также можно использовать IIFE или bind.
Подробнее
  • Рейтинг:

    5

  • Сложность:

    4

Замыкание в JavaScript запоминает ссылку на переменную, а не её значение. В цикле с var переменная одна на все итерации, поэтому все setTimeout увидят последнее значение. С let создаётся новая переменная на каждой итерации, и замыкание захватывает её корректно.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

  • Рейтинг:

    3

  • Сложность:

    8

  • Рейтинг:

    5

  • Сложность:

    6

  • Рейтинг:

    5

  • Сложность:

    5

  • Рейтинг:

    5

  • Сложность:

    7