Об авторах....17
О научном редакторе....18
Предисловие....19
Для кого эта книга....19
Структура издания....19
Как извлечь максимальную пользу из книги....21
Файлы с примерами программного кода....21
Цветные изображения....21
Условные обозначения....21
От издательства....23
Глава 1. Начало работы с JavaScript....24
Почему надо знать JavaScript....25
Настройка среды разработки....26
Встроенная среда разработки....26
Браузер....27
Дополнительные инструменты....27
Онлайн-редактор....27
Как браузер понимает JavaScript....27
Использование консоли браузера....28
Добавление JavaScript на веб-страницу....31
Непосредственно в HTML....31
Присоединение стороннего файла к веб-странице....32
Написание кода JavaScript....34
Форматирование кода....34
Комментарии к коду....36
Функция prompt()....37
Случайные числа....37
Проект текущей главы....38
Создание HTML-файла и привязка JavaScript-файла....38
Вопросы для самопроверки....38
Резюме....39
Глава 2. Основы JavaScript....40
Переменные....40
Объявление переменных....41
Примитивы....43
Тип данных String....43
Тип данных Number....45
Тип данных BigInt....46
Тип данных Boolean....47
Тип данных Symbol....47
Значение Undefined....48
Значение null....48
Анализ и модификация типов данных....49
Определение типа переменной....49
Преобразование типов данных....50
Операторы....53
Арифметические операторы....53
Операторы присвоения....59
Операторы сравнения....60
Логические операторы....63
Проект текущей главы....64
Конвертор миль в километры....64
Вычислитель индекса массы тела (ИМТ)....64
Вопросы для самопроверки....65
Резюме....66
Глава 3. Множественные значения JavaScript....67
Массивы и их свойства....68
Создание массивов....68
Доступ к элементам....69
Перезапись элементов....70
Встроенное свойство длины....71
Методы работы с массивами....72
Добавление и удаление элементов....73
Удаление элементов ....75
Поиск элементов ....76
Сортировка....77
Метод reverse....77
Многомерные массивы....78
Объекты в JavaScript....80
Обновление объектов....81
Работа с объектами и массивами....83
Объекты внутри объектов....83
Массивы внутри объектов....84
Объекты внутри массивов....84
Объекты внутри массивов внутри объектов....85
Проекты текущей главы....86
Управление массивом....86
Каталог продукции компании....87
Вопросы для самопроверки....87
Резюме....88
Глава 4. Логические операторы....89
Операторы if и if else....89
Операторы else if....92
Условные тернарные операторы....93
Операторы switch....94
Случай по умолчанию....96
Сочетание операторов....98
Проекты текущей главы....100
Игра в рулетку....100
Игра «Проверь друга»....100
Игра «Камень — ножницы — бумага»....100
Вопросы для самопроверки....101
Резюме....103
Глава 5. Циклы....104
Циклы while....105
Циклы do while....108
Цикл for....109
Вложенные циклы....112
Циклы и массивы....114
Цикл for of....117
Циклы и объекты....119
Цикл for in....119
Цикл из объектов, преобразованных в массивы....120
Операторы break и continue....122
break....123
continue....125
break, continue и вложенные циклы....127
break, continue и метки....129
Проект текущей главы....130
Математическая таблица умножения....130
Вопросы для самопроверки....130
Резюме....131
Глава 6. Функции....132
Основные функции....133
Самовызывающиеся функции....133
Создание функций....133
Название функции....134
Параметры и аргументы....135
Неопределеные параметры или параметры по умолчанию....137
Специальные функции и операторы....138
Стрелочные функции....139
Оператор spread....140
Параметр rest....141
Возврат значений функций....142
Возврат результата с помощью стрелочных функций....144
Область видимости переменных в функциях....145
Локальные переменные в функциях....145
Глобальные переменные....148
Немедленно вызываемое функциональное выражение....151
Рекурсивные функции....152
Вложенные функции....155
Анонимные функции....156
Функции обратного вызова....157
Проекты текущей главы....159
Создание рекурсивной функции....159
Использование функции setTimeout()....159
Вопросы для самопроверки....160
Резюме....161
Глава 7. Классы....162
Объектно-ориентированное программирование....162
Классы и объекты....163
Классы....164
Метод constructor....165
Методы....166
Свойства....168
Наследование....171
Прототипы....173
Проекты текущей главы....175
Приложение для контроля сотрудников....175
Расчет стоимости заказов....175
Вопросы для самопроверки....176
Резюме....177
Глава 8. Встроенные методы JavaScript....178
Введение во встроенные методы JavaScript....179
Глобальные методы....179
Декодирование и кодирование URI....180
Парсинг чисел....183
Исполнение кода JavaScript с помощью eval()....186
Методы работы с массивами....187
Выполнение определенного действия для каждого элемента....187
Фильтрация массива....188
Проверка условия для всех элементов....188
Замена части массива другой частью массива....189
Сопоставление значений массива....189
Поиск последнего вхождения элемента в массиве....190
Строчные методы....192
Объединение строк....192
Преобразование строки в массив....192
Преобразование массива в строку....193
Работа со свойствами index и position....193
Создание подстрок....195
Замена фрагментов строки....196
Верхний и нижний регистры ....196
Начало и конец строки....197
Числовые методы....200
Проверка на принадлежность числовому типу данных....200
Проверка на конечность значения....200
Проверка целых чисел....201
Указание количества знаков после запятой....201
Указание необходимой точности....202
Математические методы....202
Нахождение наибольшего и наименьшего числа....202
Квадратный корень и возведение в степень....203
Преобразование десятичных дробей в целые числа....203
Показатель степени и логарифм....205
Метод работы с датами....206
Генерирование дат....206
Методы получения и установки элементов даты....207
Парсинг дат....209
Преобразование даты в строку....210
Проекты текущей главы....211
Скремблер слов ....211
Таймер обратного отсчета....211
Вопросы для самопроверки....212
Резюме....213
Глава 9. Объектная модель документа....214
Ускоренный курс HTML....215
Элементы HTML....216
Атрибуты HTML....219
BOM....220
Объект history....223
Объект navigator....223
Объект location....225
DOM....226
Дополнительные свойства DOM....227
Выбор элементов страницы....228
Проект текущей главы....230
Управление элементами HTML с помощью JavaScript....230
Вопросы для самопроверки....230
Резюме....231
Глава 10. Управление динамическими элементами с помощью DOM....232
Базовое перемещение в DOM....233
Выбор элементов в качестве объектов....236
Доступ к элементам DOM....237
Доступ к элементам по идентификатору....237
Доступ к элементам по названию тега....238
Доступ к элементам по названию класса....240
Доступ к элементам с помощью CSS-селектора....241
Обработчик щелчка мышью по элементу....243
Ключевое слово this и DOM....245
Управление стилем элемента....247
Изменение классов элементов....249
Добавление классов в элементы....249
Удаление классов из элементов....250
Переключение классов....251
Управление атрибутами....252
Прослушиватели событий элементов....256
Создание новых элементов....258
Проекты текущей главы....261
Сворачиваемый аккордионный компонент....261
Интерактивная система голосования....262
Игра «Виселица»....263
Вопросы для самопроверки....266
Резюме....267
Глава 11. Интерактивный контент и прослушиватели событий....268
Введение в интерактивный контент....269
Указание событий....269
Указание событий с помощью HTML....269
Указание событий с помощью JavaScript....269
Указание событий с помощью прослушивателей событий....270
Обработчик событий onload....271
Обработчик событий мыши....273
Свойство события target....275
Поток событий DOM....278
События onchange и onblur....282
Обработчик событий клавиатуры....284
Перетаскиваемые элементы....287
Отправка формы....291
Анимация элементов....293
Проекты текущей главы....296
Ваша собственная аналитика....296
Звездная рейтинговая система....296
Отслеживание позиции мыши....298
Игра на скорость со щелчками кнопкой мыши....298
Вопросы для самопроверки....300
Резюме....300
Глава 12. Средний уровень JavaScript....302
Регулярные выражения....303
Указание нескольких вариантов слов....304
Варианты символов....305
Группы....308
Практическое применение регулярных выражений....311
Функции и объект arguments....315
Поднятие в JavaScript....316
Использование строгого режима....317
Отладка....318
Контрольные точки....319
Обработка ошибок....325
Использование файлов cookie....327
Локальное хранилище....330
JSON....333
Парсинг JSON....335
Проекты текущей главы....337
Сборщик адресов электронной почты....337
Валидатор форм....337
Простой математический опросник....339
Вопросы для самопроверки....340
Резюме....341
Глава 13. Параллелизм....342
Введение в параллелизм....342
Функции обратного вызова....343
Промисы....346
Операторы async и await....349
Цикл событий....350
Стек вызовов и очередь обратных вызовов....351
Проект текущей главы....353
Проверка паролей....353
Вопросы для самопроверки....354
Резюме....355
Глава 14. HTML5, Canvas и JavaScript....356
HTML5 и JavaScript....357
Чтение локальных файлов....357
Загрузка файлов....358
Чтение файлов....359
Использование функции GeoLocation для получения данных местоположения....361
HTML5-элемент canvas....363
Динамический элемент canvas....366
Добавление линий и кругов элементу canvas....366
Добавление текста на элемент canvas....369
Добавление и загрузка изображений на элемент canvas....371
Добавление анимации на элемент canvas....374
Рисование на холсте с помощью мыши....377
Сохранение динамических изображений....380
Мультимедийный контент на странице....382
Цифровая доступность в HTML....383
Проекты текущей главы....384
Создание эффекта матрицы....384
Таймер обратного отсчета....386
Онлайн-приложение для рисования....388
Вопросы для самопроверки....390
Резюме....391
Глава 15. Дальнейшие шаги....392
Библиотеки и фреймворки....392
Библиотеки....394
Фреймворки....400
Изучение бэкенда....402
API....403
AJAX....404
Node.js....406
Дальнейшие шаги....407
Проекты текущей главы....408
Работа с JSON....408
Создание списков....408
Вопросы для самопроверки....409
Резюме....410
Приложение. Ответы на практические занятия, проекты и вопросы для самопроверки....411
Глава 1. Начало работы с JavaScript....411
Глава 2. Основы JavaScript....413
Глава 3. Множественные значения JavaScript....415
Глава 4. Логические операторы....417
Глава 5. Циклы....421
Глава 6. Функции....425
Глава 7. Классы....429
Глава 8. Встроенные методы JavaScript....432
Глава 9. Объектная модель документа....435
Глава 10. Управление динамическими элементами с помощью DOM....437
Глава 11. Интерактивный контент и прослушиватели событий....444
Глава 12. Средний уровень JavaScript....454
Глава 13. Параллелизм....462
Глава 14. HTML5, Canvas и JavaScript....464
Глава 15. Дальнейшие шаги....474
Книга демонстрирует возможности JavaScript для разработки веб-приложений, сочетая теорию с упражнениями и интересными проектами. Она показывает, как простые методы JavaScript могут применяться для создания веб-приложений, начиная от динамических веб-сайтов и заканчивая простыми браузерными играми.
В "JavaScript с нуля до профи" основное внимание уделяется ключевым концепциям программирования и манипуляциям с объектной моделью документа для решения распространенных проблем в профессиональных веб-приложениях. К ним относятся проверка данных, управление внешним видом веб-страниц и работа с асинхронным и многопоточным кодом.
Обучайтесь на основе проектов, дополняющих теоретические блоки и серии примеров кода, которые могут быть использованы в качестве модулей различных приложений, таких как валидаторы входных данных, игры и простые анимации. Обучение дополнено ускоренным курсом по HTML и CSS, чтобы проиллюстрировать, как компоненты JavaScript вписываются в полноценное веб-приложение.