JavaScript еще никогда не был так прост! Вы узнаете все возможности языка программирования без общих фраз и неясных терминов. Подробные примеры, иллюстрации и схемы будут понятны даже новичку. Легкая подача информации и живой юмор автора превратят нудное заучивание в занимательную практику по написанию кода. Дойдя до последней главы, вы настолько прокачаете свои навыки, что сможете решить практически любую задачу, будь то простое перемещение элементов на странице или даже собственная браузерная игра.
Author(s): Кирупа Чиннатхамби
Series: Библиотека программиста
Edition: 1
Publisher: Питер
Year: 2021
Language: Russian
Commentary: Vector PDF
Pages: 400
City: СПб.
Tags: JavaScript; DOM; Object-Oriented Programming; Event-Driven Programming; Elementary
Благодарности
Об авторе
От издательства
Введение
Парле ву JavaScript?
Связь со мной
Глава 1. Hello, world!
Что такое JavaScript?
Hello, world!
HTML-документ
Обзор кода: инструкции и функции
Часть I. Элементарно, Ватсон
Глава 2. Значения и переменные
Использование переменных
Еще кое-что о переменных
Именование переменных
Что еще нужно знать об объявлении и инициализации переменных
Глава 3. Функции
Что такое функция?
Простая функция
Создание функции, принимающей аргументы
Создание функции, возвращающей результат
Ключевое слово return
Ранний выход из функции
Глава 4. Условные обозначения: if…else и switch
Инструкция if…else
Встречайте: условные операторы!
Создание более сложных выражений
Варианты инструкций if…else
Фух
Инструкция switch
Использование инструкции Switch
Сходство с инструкцией if…else
Что же использовать
Глава 5. Циклы for, while и do…while
Цикл for
Стартовое значение (Start Point)
Шаг (Step)
Условие, или продолжительность цикла
Соединение воедино
Некоторые примеры цикла for
Прерывание цикла
Пропуск итерации
Возврат назад
Числа использовать не обязательно
О нет! Он не сделал этого!
Другие циклы
Цикл while
Цикл do...while
Глава 6. Комментирование кода… что за?!
Что такое комментарии?
Однострочные комментарии
Многострочные комментарии
Лучшие способы комментирования
Глава 7. Таймеры
Задержка с помощью setTimeout
Выполнение циклов с помощью setInterval
Плавная анимация с помощью requestAnimationFrame
Глава 8. Область видимости переменных
Глобальная область видимости
Локальная область видимости
Особенности областей видимости
Области блоков
Как JavaScript обрабатывает переменные
Замыкания
Глава 9. Замыкания
Функции внутри функций
Когда внутренние функции независимы
Глава 10. Где можно размещать код?
Подход № 1: весь код в HTML‑документе
Подход № 2: код существует в отдельном файле
JS-файл
Ссылка на JavaScript файл
Итак, какой подход использовать?
Да, мой код будет использоваться в нескольких документах!
Нет, мой код используется только в одном HTML‑документе
Часть II. Это объектно-ориентированный мир, дружок!
Глава 11. Вывод сообщений в консоль
Знакомство с консолью
Отображение консоли
Для тех, кому важны детали
Журналирование в консоли
Знакомство с методом Log
Предопределенный текст — не предел
Отображение предупреждений и ошибок
Глава 12. О пицце, типах, примитивах и объектах
Сперва поговорим о пицце
От пиццы к JavaScript
Что такое объект?
Предопределенные объекты в JavaScript
Глава 13. Массивы
Создание массива
Обращение к значениям массива
Добавление элементов
Удаление элементов
Поиск элементов в массиве
Слияние массивов
Отображение, фильтрация и сокращение массивов
Консервативный способ
Изменение каждого элемента с помощью Map
Фильтрация элементов
Получение одного значения из массива элементов
Экскурс в функциональное программирование
Глава 14. Строки
Основы
Свойства и методы строк
Обращение к отдельным символам
Совмещение (конкатенация) строк
Получение подстрок из строк
Разделение строки с помощью split
Поиск по строке
Строки в нижнем и верхнем регистре
Глава 15. Когда примитивы ведут себя как объекты
Строки — это не единственная проблема
Давайте все-таки выберем строки
Почему это важно
Глава 16. Числа
Использование чисел
Операторы
Простые математические действия
Увеличение и уменьшение
Шестнадцатеричные и восьмеричные значения
Особые значения — Infinity и NaN
Infinity
NaN
Объект Math
Константы
Округление чисел
Тригонометрические функции
Степени и квадратные корни
Получение абсолютного значения
Случайные числа
Глава 17. Методы получения и изменения данных
История двух свойств
Знакомство с геттерами и сеттерами
Генератор крика
Регистрирование действий
Проверка значения свойства
Глава 18. Об объектах подробнее
Знакомство с объектом
Создание объектов
Добавление свойств
Удаление свойств
Что же происходит под капотом?
Создание пользовательских объектов
Ключевое слово this
Глава 19. Расширение встроенных объектов
И снова приветствуем прототип!
Спорность расширения встроенных объектов
Вы не контролируете будущее встроенного объекта
Некоторую функциональность не следует расширять или переопределять
Глава 20. Использование классов
Синтаксис классов и создание объектов
Создание объекта
Знакомьтесь с конструктором
Что помещается в класс
Расширение объектов
Глава 21. Логические типы и строгие операторы === и !==
Объект Boolean
Логическая функция
Операторы строгого равенства и неравенства
Глава 22. null и undefined
Null
Undefined
Часть III. DOM милый DOM
Глава 23. Все о JSON (объектная нотация JavaScript)
Что такое JSON?
Объект JSON изнутри
Имена свойств
Значения
Чтение данных JSON
Парсинг JSON-подобных данных в действительный JSON
Запись данных JSON?
Глава 24. JS, браузер и DOM
Что делают HTML, CSS и JavaScript
HTML определяет структуру
Приукрась мой мир, CSS!
Настало время JavaScript!
Знакомьтесь с объектной моделью документа
Объект Window
Объект Document
Глава 25. Поиск элементов
в DOM
Знакомьтесь с семейством querySelector
querySelector
querySelectorAll
Таков синтаксис селектора CSS
Глава 26. Модифицирование элементов DOM
Элементы DOM — они как объекты
Пора модифицировать элементы DOM
Изменение значения текста элемента
Значения атрибутов
Глава 27. Cтиль контента
Зачем устанавливать стили с помощью JavaScript?
Два подхода стилизации
Установка стиля напрямую
Добавление и удаление классов с помощью JavaScript
Проверка наличия значения класса
Углубление
Глава 28.
Перемещение по DOM
Поиск пути
Работа с братьями и родителями
Давай заведем детей!
Складываем все воедино
Проверка наличия потомка
Обращение ко всем потомкам
Прогулка по DOM
Глава 29. Создание и удаление элементов DOM
Создание элементов
Удаление элементов
Клонирование элементов
Глава 30. Браузерные инструменты разработчика
Знакомство с инструментами разработчика
Просмотр DOM
Отладка JavaScript
Знакомство с консолью
Инспектирование объектов
Журналирование сообщений
Часть IV. Полны событиями
Глава 31. События
Что такое события?
События и JavaScript
1. Прослушивание событий
2. Реагирование на события
Простой пример
Аргументы событий и типы событий
Глава 32. Всплытие и погружение событий
Событие опускается. Событие поднимается
Знакомьтесь с фазами
Кому это важно?
Прерывание события
Глава 33. События мыши
Знакомьтесь с событиями мыши
Одинарный или двойной клик
Наведение и отведение курсора
События mousedown и mouseup
Событие услышано снова… и снова… и снова!
Контекстное меню
Свойства MouseEvent
Глобальная позиция мыши
Позиция курсора мыши в браузере
Определение нажатой кнопки
Работа с колесиком мыши
Глава 34. События клавиатуры
Знакомьтесь с событиями клавиатуры
Использование событий
Свойства события Keyboard
Примеры
Проверка нажатия конкретной клавиши
Совершение действий при нажатии клавиш стрелок
Определение нажатия нескольких клавиш
Глава 35. События загрузки страницы и прочее
Что происходит в процессе загрузки страницы
Стадия первая
Стадия вторая
Стадия третья
DOMContentLoaded и load Events
Сценарии и их расположение в DOM
Элементы сценария async и defer
async
defer
Глава 36. Обработка событий для нескольких элементов
Как все это делается?
Плохое решение
Хорошее решение
Объединяя все сказанное
Глава 37. Заключение
Глоссарий