Карточка проекта
Цвет, отступы и скругление можно исследовать в панели Elements.
Выберите задачу, откройте инструменты Chrome и исследуйте этот стенд. Здесь только вымышленные учебные данные.
Найдите правило CSS, измените скругление и проверьте состояние :hover. Правки в DevTools обычно пропадают после перезагрузки.
Цвет, отступы и скругление можно исследовать в панели Elements.
Сначала сравните два готовых состояния.
Сейчас выбран мятный акцент.
.practice-card, измените border-radius и padding.Для проверки адаптивности включите панель устройств и попробуйте ширины 320, 390 и 768 px. Эмуляция дополняет проверку на реальном телефоне.
Выведите позиции через console.table(), раскройте группу и отличите диагностическое сообщение от учебной ошибки.
Откройте Console, затем нажмите одну из кнопок.
DevTools Lab. Сравните строки таблицы и рассчитанную сумму.lab.js.Ошибка создаётся специально по вашей кнопке. Стенд не аварийно завершается; это упражнение по чтению сообщений и стека.
Получите локальный JSON через fetch(), затем сравните успешный ответ с отсутствующим файлом.
Путь запроса: data/prices.json
Откройте Network до нажатия кнопки, чтобы увидеть запрос.
prices.json в списке.Отсутствующий ресурс обычно даёт HTTP 404. Стенд показывает реальный ответ сервера. fetch() сам по себе не отклоняет Promise из-за HTTP 404 — статус проверяет наш код.
Здесь ошибка заложена намеренно: строки из полей соединяются оператором +. Правильная сумма — количество × цена.
Запустите расчёт с ошибкой и проверьте типы переменных.
function calculateFixed(quantity, price) {
return Number(quantity) * Number(price);
}lab-model.js. Быстрый поиск файла: Ctrl + P или ⌘ + P.calculateBuggy() поставьте breakpoint на строке const total = quantity + price;.typeof quantity в Watch.total, затем продолжите выполнение. Сравните с правильной функцией.Приостановка появится только после установки вашей точки останова. Стенд не запускает debugger автоматически.
Запишите добавление карточек в DOM. Сравните последовательные вставки и одну вставку через DocumentFragment.
Карточек пока нет. Откройте Performance и начните запись.
Время здесь показывает только выполнение функции вставки, без полного цикла отрисовки. Это иллюстрация, а не доказательство, что один способ всегда быстрее.
Для короткой операции разница может быть небольшой. Не делайте вывод о производительности всего сайта по одному запуску этого примера.
Создайте небольшой массив объектов, найдите его в снимке памяти и затем освободите удерживающую ссылку.
Будет создано 12 000 небольших вымышленных записей. Повторное нажатие заменяет массив.
window.DevToolsLab.retainedSampleПосле освобождения здесь будет null. Освобождение ссылки позволяет сборщику мусора убрать массив, когда на него больше нет других ссылок.
DevToolsLab и изучите Retainers.Память не обязана уменьшиться мгновенно. Сам DevTools, снимки и переменные консоли могут удерживать объекты. Стенд не накапливает массивы при повторных нажатиях.