JavaScript для профессионалов

Практические приемы программирования.

Джон Резиг, Расс Фергюсон "JavaScript для профессионалов" Вильямс, 2016 год, 240 стр. (90,6 мб. pdf+code)

Пособие JavaScript для профессионалов предназначено для практикующих веб-разработчиков. Вы сможете узнать из книги о современных методах программирования на языке JavaScript. Рассказывается о достоинствах и недостатках этой технологии, новых языковых средствах, добавленных в новых версиях стандарта ECMAScript. Так же изучите передовые методы отладки и тестирования готовых приложений и инструментальных средствах разработки.

Книга насыщена многочисленными практическими и подробно прокомментированными примерами кода. Показаны фрагменты часто используемых функций и классов, многократное применение которых, экономит время разработчиков, и помогает в овладении практическими навыками создания динамических веб-приложений. Что в свою очередь ведет к повышению квалификации и профессиональному росту. Интерес это практическое пособие вызовет у разработчиков веб-приложений. Для эффективной работы с книгой желательно иметь опыт программирования на JavaScript.
ISBN 978-5-8459-2054-6 (рус)

Оглавление книги.

Глава 1
Профессиональные методики программирования на JavaScript
Как было достигнуто текущее состояние JavaScript 20
Современное состояние JavaScript 22
Рост популярности библиотек 23
О поддержке мобильных устройств 24
Дальнейшие перспективы 25
Краткое содержание остальной части книги 26
Резюме 28

Глава 2
Языковые средства, функции и объекты
Языковые средства 29
Ссылки и значения 29
Область действия 32
Контекст 34
Замыкания 36
Перегрузка функций и проверка соответствия типов 39
Новые инструментальные средства для управления объектами 42
Объекты 42
Модификация объектов 43
Резюме 46

Глава 3
Создание повторно используемого кода
Объектно-ориентированные свойства JavaScript 47
Наследование 52
Доступность членов 57
Перспективы объектно-ориентированных возможностей JavaScript 59 Упаковка кода JavaScript 60
Пространства имен 60
Модульный шаблон 61
Немедленно вызываемые функциональные выражения 63
Резюме 66

Глава 4
Отладка кода JavaScript
Инструментальные средства отладки 67
Консоль 68
Эффективное использование консольных средств 69
Отладчик 72
Инспектор DOM 73
Сетевой анализатор 73
Временная шкала 74
Профилировщик 75
Резюме 77

Глава 5
Объектная модель документов
Введение в объектную модель документов 79
Структура DOM 81
Взаимосвязи в модели DOM 83
Доступ к элементам DOM 85
Поиск элементов по CSS-селектору 87
Ожидание загрузки HTML-документов, простроенных по модели DOM 88
Ожидание загрузки страницы 89
Ожидание подходящего события 90
Получение содержимого элемента разметки 90
Извлечение текста из элемента разметки 90
Извлечение HTML-содержимого из элемента разметки 92
Обращение с атрибутами элементов разметки 93
Получение и установка значений атрибутов 94
Модификация модели DOM 97
Создание узлов средствами DOM 98
Ввод элементов в модель DOM 99
Вставка HTML-разметки в модель DOM 99
Удаление узлов из модели DOM 101
Обработка пробелов в модели DOM 102
Простое перемещение по модели DOM 104
Резюме 106

Глава 6
События
Представление о событиях в JavaScript 108
Стек, очередь и цикл ожидания событий 108
Стадии обработки событий 109
Привязка обработчиков событий 110
Традиционная привязка событий 111
Привязка событий к элементам DOM по стандарту консорциума W3C 115 Отвязка событий 117
Типичные средства обработки событий 118
Объект события 118
Отмена всплывания событий 118
Отмена действия, выполняемого в браузере по умолчанию 120
Делегирование событий 122
Объект события 123
Общие свойства 123
Свойства мыши 124
Свойства клавиатуры 125
Типы событий 126
События на странице 127
События в пользовательском интерфейсе 128
События от мыши 128
События от клавиатуры 130
События в форме 131
Доступность событий для специальных возможностей 131
Резюме 132

Глава 7
JavaScript и проверка достоверности форм
Проверка достоверности форм в HTML и CSS 133
CSS 136
Проверка достоверности форм в JavaScript 137
Проверка достоверности и пользователи 141
События проверки достоверности 142
Специальная настройка проверки достоверности 145
Предотвращение проверки достоверности форм 146
Резюме 146

Глава 8
Введение в Ajax
Применение технологии Ajax 148
HTTP-запросы 149
HTTP-ответ 155
Резюме 157

Глава 9
Инструментальные средства для веб-производства
Построение каркаса проектов 160
NPM — основа всего 160
Генераторы 161
Контроль версий 162
Ввод файлов, обновления и первая фиксация изменений 163
Резюме 167

Глава 10
AngularJS и тестирование
Представления и контроллеры 172
Удаленные источники данных 174
Маршруты 175
Параметры маршрута 176
Тестирование приложения 179
Модульное тестирование 179
Сквозное тестирование в среде Protractor 183
Резюме 185

Глава 11
Перспективы развития JavaScript
Прошлое, настоящее и будущее JavaScript 188
Применение стандарта ECMAScript Harmony 189
Ресурсы проекта Harmony 189
Работа со стандартом Harmony 190
Транспиляторы 191
Полизаполнения 195
Языковые средства по стандарту ECMAScript Harmony 195
Стрелочные функции 196
Классы 198
Обещания 199
Модули 202
Расширения типов данных 205
Новые типы коллекций 208
Резюме 210

Приложение А 213
Справочник по модели DOM
Ресурсы 213
Терминология 214
Глобальные переменные 215
Переменная document 216
Переменная HTMLElement 216
Перемещение по модели DOM 216
Свойство body 216
Свойство childNodes 217
Свойство documentE lement 217
Свойство firstChild 217
Функция getElementByld(elemXD) 218
Функция getElementsByTagName (tagName) 218
Свойство lastChild 219
Свойство nextSibling 219
Свойство parentNode 220
Свойство previousSibling 220
Сведения об узлах 220
Свойство innerText 220
Свойство nodeName 221
Свойство nodeType 221
Свойство nodeValue 222
Атрибуты 223
Свойство className 223
Функция getAttribute (a t tr.Name) 223
Функция removeAttr ibu te (a t trName) 224
Функция setAt tribute (attrName, attrValue) 224
Модификация модели DOM 225
Функция appendChild (nodeToAppend) 225
Функция cloneNode (true | false) 226
Функция createElement (tagName) 226
Функция createElementNS (namespace, tagName) 227
Функция createTextNode (texts tring) 227
Свойство innerHTML 228
Функция insertBefore (nodeToInsert, nodeToInsertBefore) 228
Функция removeChild (nodeToRemove) 229
Функция replaceChild (nodeToInsert,
nodeToReplace) 229
Предметный указатель 231
Скачать книгу бесплатно90,6 мб. pdf Скачать файлы бесплатноcode 49,5 КБ