1. Расскажите о том, что вы узнали на этой неделе.

Мы узнали о карри. Каррированная функция — это функция с несколькими аргументами, переписанная таким образом, что она принимает первый аргумент и возвращает функцию, принимающую второй аргумент, и так далее. Это позволяет функциям с несколькими аргументами частично применять некоторые из своих начальных аргументов.

2. Объясните Function.prototype.bind()

bind — это метод прототипа всех функций в JavaScript. Он позволяет вам создать новую функцию из существующей функции, изменить контекст this новой функции и предоставить любые аргументы, с которыми вы хотите, чтобы новая функция вызывалась. Аргументы, предоставленные для привязки, будут предшествовать любым аргументам, которые передаются новой функции при ее вызове.

3. Опишите всплытие событий.

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

4. В чем разница между событием загрузки окна и событием документа DOMContentLoaded?

Событие DOMContentLoaded срабатывает, когда документ загружается и дерево DOM полностью построено. Событие загрузки срабатывает, когда все подфреймы, изображения, таблицы стилей, скрипты и т. д. загружены.

5. Опишите стек вызовов.

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