Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2
В HTML атрибуты
1⃣
2⃣
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ JS собеседования
async и defer управляют загрузкой и выполнением скриптов, чтобы оптимизировать производительность страницы.async загружает скрипт асинхронно с HTML. Скрипт выполняется сразу после загрузки, что может прервать парсинг HTML. Подходит для независимых скриптов.defer также загружает скрипт асинхронно, но выполняет его после полного парсинга HTML. Это гарантирует, что DOM полностью загружен перед выполнением скрипта. Подходит для скриптов, зависящих от DOM.<noscript src="noscript.js" async></noscript>
<noscript src="noscript.js" defer></noscript>
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Event Bubbling и Event Capturing — это фазы распространения событий в DOM.
⏩ Event Bubbling: событие сначала обрабатывается на самом вложенном элементе, затем поднимается вверх по дереву DOM к родительским элементам. Это поведение по умолчанию.
⏩ Event Capturing: событие обрабатывается сверху вниз, начиная с корневого элемента и заканчивая целевым.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ JS собеседования
element.addEventListener('click', function() {
// Обработчик события для всплытия
}, false); // false указывает на фазу всплытияelement.addEventListener('click', function() {
// Обработчик события для захвата
}, true); // true указывает на фазу захватаСтавь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1
Пример использования:
alert("Hello, World!"); // Отображает модальное окно с сообщением "Hello, World!"
alert содержит только текст сообщения и кнопку "OK". Оно полезно для простых уведомлений, но не подходит для сложных взаимодействий с пользователем, так как не позволяет получить ввод данных.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤩2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Контекст this определяется способом вызова функции. В глобальной области видимости this ссылается на глобальный объект (в браузере это window). В методах объекта this указывает на сам объект.В стрелочных
функциях this наследуется из внешней функции, в которой они определены. В конструкторах this указывает на новый экземпляр объекта.
const obj = {
name: "Alice",
greet() {
console.log(`Hello, ${this.name}`);
}
};
obj.greet(); // Выведет: Hello, Alice
Использование
call, apply или bind позволяет явно задавать контекст this.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🤔1
spread используется для копирования или объединения:const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5]; // Копирование и добавление элементов
spread помогает объединять или клонировать объекты:const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, c: 3 }; // Копирование и добавление свойствСтавь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🤔1👀1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
// Создание объекта
const person = {
name: 'Alice',
age: 30
};
// Добавление нового свойства
person.job = 'Engineer';
// Альтернативный способ добавления свойства
person['city'] = 'Moscow';
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
Math.random() возвращает псевдослучайное число с плавающей точкой в диапазоне от 0 (включительно) до 1 (исключительно). Это полезно для генерации случайных чисел в различных сценариях, например, для игр или тестирования.Чтобы получить случайное число в определенном диапазоне, можно умножить результат на нужное значение и округлить. Например, для получения случайного целого числа от 1 до 10:
const randomNumber = Math.floor(Math.random() * 10) + 1; // Генерация случайного числа от 1 до 10
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
${expression}, что упрощает создание динамических строк.
const name = "Alice";
const greeting = `Hello, ${name}!`; // Интерполяция переменной в строку
Шаблонные литералы делают код более читаемым и удобным для работы с динамическими данными.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
JSON.parse(). Этот метод принимает строку в формате JSON и преобразует ее в JavaScript-объект. Важно, чтобы строка была корректно сформирована, иначе может возникнуть ошибка.Для работы с JSON также можно использовать
JSON.stringify(), чтобы преобразовать объект обратно в строку JSON.
const jsonString = '{"name": "Alice", "age": 25}'; // JSON-строка
try {
const user = JSON.parse(jsonString); // Парсинг строки в объект
console.log(user.name); // Доступ к свойству "name"
console.log(user.age); // Доступ к свойству "age"
} catch (error) {
// Обработка ошибки при парсинге
console.error("Ошибка в парсинге JSON:", error);
}
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
clearInterval.
let counter = 0;
const intervalId = setInterval(() => {
counter++;
console.log(`Counter: ${counter}`);
if (counter >= 5) {
clearInterval(intervalId); // Остановка интервала
}
}, 1000);
В этом примере код внутри
setInterval выполняется каждую секунду. Когда значение counter достигает 5, интервал останавливается с помощью clearInterval. Это полезно для задач, требующих периодического выполнения, таких как обновление данных или анимации.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Глобальная область видимости — переменные, объявленные вне функций или блоков, доступны везде в коде. Функциональная область видимости — переменные, объявленные внутри функции, доступны только в её пределах. Блочная область видимости появилась с
let и const — переменные, объявленные внутри блока {}, доступны только в этом блоке.
const globalVar = "I'm global"; // Глобальная область видимости
function example() {
const functionVar = "I'm in function"; // Функциональная область видимости
if (true) {
const blockVar = "I'm in block"; // Блочная область видимости
}
console.log(blockVar); // Ошибка: blockVar не определена
}
Использование
var создаёт переменные с функциональной областью видимости, а let и const — с блочной. Это важно учитывать для предотвращения ошибок и утечек переменных.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1