АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP или фреймворки. Сегодня последний день для записи! Жми!
НОВИНКА: Практика на Реальных Проектах и Работы в Портфолио. Бесплатный курс! Жми для записи!

Высший учебник JavaScript

Стилизация

Стилизация через атрибут style Единицы измерения в атрибуте style Ошибки с единицами измерения Распаковка значений CSS свойств Сброс стилей через style Массовая установка стилей Проблемы чтения стилей Чтение свойств из CSS файлов Преобразование прочитанных значений Стилизация классами Один класс для стилизации Неудобство классов Чередование стилей через data-

Метрики элементов

Расширение элементов в CSS Тестовый элемент Клиентский размер элемента Полный размер элемента Размеры элемента с прокруткой Прокрутка элементов Изменение прокрутки элемента Прокрутка элемента до конца Распахивание элемента Ширина полосы прокрутки

Метрики окна

Размеры окна Размеры окна с учетом прокрутки Получение прокрутки окна Получение и изменение прокрутки окна Метод для прокрутки окна в положение Метод для прокрутки окна на величину Метод для прокрутки окна к элементу Событие прокрутки

Коллекции Map

Введение Полезные возможности Перебор циклом Ключи и значения Применение Map

Коллекции Set

Введение Начальное заполнение Полезные возможности Перебор циклом Преобразование Удаление дублей из массива Получение без дублей

Псевдомассивы

Введение Сходство с массивами Отличия Проверка на массив Преобразование к массиву Типы псевдомассивов Разница между типами

Символы

Введение в тип Symbol Описания символа Символы ключи объектов Перебор объекта с символами Функция в объекте Операции с объектами в функции Глобальные символы Получение имени символа Хорошо известные символы

Итераторы

Итерируемые объекты Функция итератора Вызовы итератора Генераторы Циклы в генераторах Однократная работа итераторов Итератор объекта Создание итерируемого объекта Генератор через вычисляемое свойство Встроенный итератор values Встроенный итератор keys Встроенный итератор entries Три встроенных итератора Оператор spread и итераторы Встроенные итераторы строк Массив цифр числа Нумерация DOM элементов Получение данных DOM элементов

Формат JSON

Введение JSON в данные Данные в JSON Изменение данных в JSON

Хранилище

Введение Хранилище в отладчике Данные Однократное сохранение Перезапись данных Удаление данных Очистка хранилища Количество записей Получение ключа по номеру Перебор хранилища по индексам Массивы ключей и значений хранилища Хранение структур Модификация хранимых структур Практика

Регулярные выражения

Введение Операторы повторения Группирующие скобки Экранировка спецсимволов Фигурные скобки Ограничение жадности Группы символов Наборы символов Инвертирование наборов символов Особенности кириллицы Спецсимволы внутри наборов Группы символов внутри наборов Спецсимволы-исключения внутри наборов Символ шляпки внутри наборов Особенности дефиса внутри наборов Игнорирование регистра Начало и конец строки Граница слов Многострочность Команда 'или' Переменная с регуляркой Метод test Метод search Метод split Метод match Карманы в методе match Глобальный match Глобальный matchAll Метод exec Свойство lastIndex Карманы в методе replace Коллбэк в методе replace Карманы по умолчанию в методе replace Карманы в самой регулярке Именованные карманы Именованные карманы внутри выражения Несохраняющие скобки Позитивный и негативный просмотр Строка с регуляркой Флаги для строк Обратный слеш в строках

Исключительные ситуации

Введение Виды возникающих ситуаций Перехват исключений Разработка с try-catch Перехват исключений во вложенном коде Объект с исключением Основные типы исключений Применение типов исключения Выбрасывание исключений Выбрасывание различных типов исключений Выбрасывание своих типов исключений Пример исключения с data- атрибутами Пример исключения с JSON Проброс исключений

Асинхронность

Синхронный и асинхронный код Асинхронность событийной модели Асинхронность загрузки картинок Исключительные ситуации в асинхронном коде

Асинхронные коллбэки

Введение Асинхронная передача результата в коллбэк Передача параметров в асинхронный коллбэк Обработка исключений в асинхронных коллбэках Загрузка картинок Проблема callback hell Асинхронная загрузка картинок в цикле

Промисы

Введение в промисы Исключительные ситуации Объект с ошибкой Отдельный перехват исключений Состояния промиса Цепочки промисов Промисы внутри цепочки Исключения в цепочках промисов Работа с массивами промисов Создание сработавших промисов Промисификация асинхронного кода Проблема promise hell Промисы в синхронном стиле Исключения в синхронном стиле

Библиотеки

Введение Использование CDN Неудобства библиотек

Инструменты

Семантическое версионирование Терминал NodeJS Введение в npm Установка через npm Короткая форма установки Зависимости в файле package.json Dev зависимости Форматы версий зависимостей Настройки файла package.json Создание файла package.json Перенос npm проекта Файл package-lock.json Обновление пакетов Удаление пакетов Глобальная установка через npm Глобальное удаление пакетов Инструмент npx Запуск скриптов через npm Менеджер Yarn

Модули ES

Введение в модули Включение ES модулей Установка Webpack Принцип работы Webpack Настройка Webpack Настройка запуска сборки Webpack Тестовая сборка через Webpack Подключение бандла к верстке Создание ES модуля Подключение ES модуля Переименование при импорте Импорт всего содержимого модуля Экспорт по умолчанию Комбинация экспортов Импорт всего содержимого при комбинации экспортов Экспорт значений Значения как константы Импорт npm модулей Динамический импорт Динамический множественный импорт Преобразование CommonJS модулей

Протокол HTTP

Изучение учебника HTTP URLSearchParams URL

Тестовый сервер

Введение Использование Выполнение кода Генерация HTML Заголовки ответа Настройка порта Множественный запуск

Формы

Отправка форм Методы отправки форм Отправка форм методом GET Отправка форм методом POST GET запросы Применение GET запросов Кнопки формы Отправка форм через JavaScript Запрет отправки формы Введение в FormData Методы FormData Итераторы FormData

AJAX

Введение в AJAX Основы работы с fetch Код HTTP ответа Успешность запроса Исключительные ситуации Полный перехват ошибок Заголовки HTTP ответа Получение JSON Заголовки HTTP запроса GET запросы POST запросы Данные через URLSearchParams Данные через FormData Отправка всей формы Отправка JSON Политика CORS Передача куки Синхронный стиль

Работа с канвас

Начало работы Рисование линий Рисование прямоугольников Рисование окружностей Смена цвета линии Смена размера линий Циклы

Оптимизация кода

Факторы скорости загрузки сайта Доступные ресурсы Оптимизация повторных операций Оптимизация повторения тяжелых операций Оптимизация цикличных операций Оптимизация лишних проходов цикла Оптимизация через встроенные функции Выбор оптимального алгоритма Оптимизация использования регулярок Оптимизация работы с DOM Оптимизация потребления памяти Оптимизация преобразования в массив Оптимизация обработчиков событий Оптимизация скорости за счет памяти

Данные

Иммутабельность Копия массива Копия объекта Добавление элементов в массив Удаление элементов массива Изменение элементов массивов Массив объектов Генерирование случайного id Добавление элемента с id Удаление элемента по id Изменение элемента по id Изменение одного свойства по id Получение элемента по id
enru