Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Расскажите про this и контекст
this в JavaScript — это ключевое слово, которое ссылается на текущий контекст выполнения. Контекст зависит от того, где и как используется this:
В методе объекта this указывает на этот объект.
В функции this по умолчанию указывает на глобальный объект (в строгом режиме — undefined).
В стрелочных функциях this наследуется из внешнего контекста.
Пример:
const obj = {
name: "Иван",
greet() {
console.log(`Привет, ${this.name}!`);
},
};
obj.greet(); // Привет, Иван!Для чего нужен прототип?
Прототип — это объект, от которого другой объект может наследовать свойства и методы. В JavaScript каждый объект имеет скрытое свойство [[Prototype]], которое указывает на его прототип. Это позволяет организовать наследование, чтобы не дублировать код и переиспользовать общие методы. Например, если метод не найден в объекте, JavaScript ищет его в прототипе.
Пример:
const animal = { eats: true };
const dog = Object.create(animal);
console.log(dog.eats); // trueЧто такое делегирование событий в JavaScript?
Делегирование событий — это подход, при котором событие обрабатывается на родительском элементе, а не на каждом дочернем элементе, к которому оно относится. Это работает благодаря всплытию событий: событие, вызванное на дочернем элементе, поднимается вверх по дереву DOM до родителя. Этот метод позволяет сократить количество обработчиков событий и упростить их управление.
Пример:
document.getElementById("parent").addEventListener("click", (event) => {
if (event.target.tagName === "BUTTON") {
console.log(`Нажата кнопка: ${event.target.textContent}`);
}
});Что такое Canvas?
<canvas> — это HTML-тег, который используется для рисования 2D и 3D графики через JavaScript. Сам по себе <canvas> не содержит графики; для её создания используется JavaScript API. Этот элемент полезен для анимаций, игр и динамического рендеринга изображений, но он требует программирования для каждой детали.
Для чего нужен тег <noscript>?
Тег <noscript> отображает содержимое, если у пользователя отключен JavaScript или его браузер не поддерживает скрипты. Это полезно для обеспечения доступности сайта для всех пользователей, включая тех, кто не может использовать JavaScript. Внутри <noscript> можно размещать альтернативные версии контента или инструкции для пользователей.
Для чего нужны data-атрибуты?
Data-атрибуты — это пользовательские атрибуты, начинающиеся с data-, которые позволяют хранить дополнительные данные в HTML-элементах. Эти данные могут быть использованы JavaScript для динамической обработки элементов на странице. Data-атрибуты удобны для передачи данных без необходимости изменения структуры HTML или использования скрытых полей.
Зачем для тега <script> добавляют атрибуты async и defer?
Какие есть виды подключения JavaScript к HTML?
Способы создания (объявления) переменной в JavaScript?
Объяснить разницу между var, let и const в JavaScript?
Рейтинг:
4
Сложность:
6
Атрибуты async и defer у тега <script> используются для управления тем, как и когда браузер загружает и выполняет JavaScript. async загружает скрипт асинхронно и выполняет его сразу после загрузки, не дожидаясь завершения загрузки всей страницы. defer также загружает скрипт асинхронно, но откладывает его выполнение до полной загрузки HTML-документа, что предотвращает блокировку рендеринга страницы.
Рейтинг:
2
Сложность:
3
JavaScript можно подключать к HTML-тексту тремя основными способами: встроенно, через внешний файл и через атрибуты тегов. Встроенный JavaScript помещается внутри тега <script> в HTML-документе. Внешний JavaScript-файл подключается с помощью тега <script src="file.js">. Также можно использовать атрибуты, такие как onclick для обработки событий напрямую в HTML.
Рейтинг:
2
Сложность:
1
В JavaScript переменные можно объявлять с помощью var, let и const. var — это устаревший способ, у него есть особенности, такие как поднятие и функциональная область видимости. let и const появились в ES6 и имеют блочную область видимости. const используется для переменных, которые нельзя переназначить.
Рейтинг:
2
Сложность:
2
var имеет функциональную область видимости, поддерживает поднятие и может быть переназначен. let имеет блочную область видимости и также может быть переназначен. const тоже имеет блочную область видимости, но его значение нельзя переназначить.
Рейтинг:
4
Сложность:
6
Рейтинг:
3
Сложность:
7
Рейтинг:
3
Сложность:
6
Рейтинг:
1
Сложность:
3
Рейтинг:
1
Сложность:
3
Рейтинг:
1
Сложность:
3