JavaScript. Профессиональные приёмы программирования
Джон Рейсиг
Эта книга адресована, прежде всего, разработчикам. На практических примерах создания веб-сайтов подробно рассмотрены возможности и особенности современного языка JavaScript, вместе с тем, здесь нет информации для начинающих о структуре и синтаксисе языка, предполагается, что читатель знаком с ними. Книга состоит из четырех частей:
- Разработка на JavaScript: использование объектно-ориентированного подхода, написание кода, тестирование и отладка.
- Реализация модели DOM.
- Технология Ajax - использование библиотек для ускорения процесса разработки.
- Будущее JavaScript - использование JSON и HTML 5.
Кроме того, в приложении содержится справочная информация о реализации DOM в различных браузерах, включая IE7.
Издательство: Питер, 2008 г.
ISBN 978-5-91180-904-1
Количество страниц: 352.
Содержание книги «JavaScript. Профессиональные приёмы программирования»:
- 7 Об авторе
- 7 О техническом редакторе
- 7 Слова благодарности
- 9 Глава 1. Современное программирование на JavaScript
- 9 Объектно-ориентированный JavaScript
- 10 Тестирование кода
- 11 Создание пакета распространения
- 12 Ненавязчивое создание DOM-сценариев
- 13 Объектная модель документа (DOM)
- 14 События
- 15 JavaScript и CSS
- 15 Ajax
- 18 Поддержка со стороны браузеров
- 21 Выводы
- 22 Глава 2. Объектно-ориентированный JavaScript
- 22 Свойства языка
- 22 Ссылки
- 24 Перегрузка функций и проверка типов
- 28 Область видимости переменных
- 29 Замкнутые выражения
- 32 Контекст
- 34 Объектно-ориентированные основы JavaScript
- 34 Объекты
- 35 Создание объектов
- 36 Публичные методы
- 37 Частные методы
- 38 Привилегированные методы
- 40 Статические методы
- 40 Выводы
- 22 Свойства языка
- 41 Глава 3. Создание кода широкого применения
- 41 Стандартизация объектно-ориентированного кода
- 41 Наследование с использованием прототипов
- 42 Классическое наследование
- 45 Библиотека Base
- 47 Библиотека Prototype
- 50 Создание пакета
- 51 Организация пространства имен
- 51 Dojo
- 53 YUI
- 53 Очистка программного кода
- 54 Объявление переменных
- 54 Операторы != и == против операторов !== и ===
- 55 Блоки и скобки
- 55 Точки с запятой
- 56 Сжатие
- 56 JSMin
- 57 Packer
- 58 Распространение
- 59 Выводы
- 41 Стандартизация объектно-ориентированного кода
- 61 Глава 4. Инструменты для отладки и тестирования
- 61 Отладка
- 61 Консоль ошибок
- 61 Internet Explorer
- 62 Firefox
- 63 Safari
- 64 Opera
- 65 Инспекторы DOM
- 65 Инспектор DOM, имеющийся в Firefox
- 66 DOM-инспектор, имеющийся в Safari
- 67 Наглядное представление источника
- 68 Firebug
- 69 Venkman
- 70 Тестирование
- 70 JSUnit
- 72 J3Unit
- 73 Test.Simple
- 74 Вывод
- 61 Отладка
- 76 Глава 5. Объектная модель документа
- 76 Введение в объектную модель документа
- 76 Переходы по DOM
- 79 Как справиться в DOM с пустым пространством
- 81 Простое перемещение по DOM-структуре
- 82 Привязка к каждому HTML-элементу
- 83 Стандартные методы DOM
- 85 Ожидание загрузки HTML DOM
- 85 Ожидание загрузки страницы
- 86 Ожидание загрузки основной части DOM
- 86 Вычисление окончания загрузки DOM
- 89 Обнаружение элементов в документе HTML
- 89 Обнаружение элементов по имени класса
- 90 Обнаружение элементов по селектору CSS
- 91 cssQuery
- 91 jQuery
- 92 XPath
- 93 Получение содержимого элемента
- 94 Получение текста, находящегося внутри элемента
- 95 Получение HTML, находящегося внутри элемента
- 96 Работа с атрибутами элементов
- 97 Получение и установка значений атрибута
- 100 Модификация DOM
- 100 Создание узлов с использованием DOM
- 101 Вставка в DOM
- 103 Вставка в DOM кода HTML
- 105 Удаление узлов из DOM
- 107 Вывод
- 108 Глава 6. События
- 108 Введение в события JavaScript
- 108 Асинхронные события против потоков
- 108 Потоки JavaScript
- 109 Асинхронные обратные вызовы
- 110 Фазы события
- 113 Общие свойства событий
- 113 Объект события
- 113 Ключевое слово this
- 114 Прекращение всплытия событий
- 116 Подмена исходных действий браузера
- 118 Привязка перехватчиков событий
- 119 Традиционная привязка
- 119 Преимущества традиционной привязки
- 120 Недостатки традиционного способа привязки
- 120 DOM-привязка: W3C
- 121 Преимущества W3C-привязки
- 121 Недостаток W3C-привязки
- 121 DOM-привязка: IE
- 122 Преимущество IE-привязки
- 122 Недостатки IE-привязки
- 122 addEvent и removeEvent
- 124 Преимущества addEvent
- 125 Недостаток addEvent
- 125 Виды событий
- 126 Создание ненавязчивых DOM-сценариев
- 126 Предупреждение отключения JavaScript
- 127 Обеспечение независимости ссылок от JavaScript
- 127 Отслеживание блокировки CSS
- 128 Доступность события
- 129 Вывод
- 108 Введение в события JavaScript
- 130 Глава 7. JavaScript и CSS
- 130 Доступ к информации о стилях
- 132 Динамические элементы
- 132 Позиция элемента
- 137 Получение позиции
- 139 Установка позиции
- 140 Размер элемента
- 143 Видимость элемента
- 145 Анимация
- 145 Выплывание
- 146 Проявление
- 147 Браузер
- 147 Позиция указателя мыши
- 148 Область просмотра
- 148 Размер страницы
- 149 Позиции полос прокрутки
- 149 Перемещение полос прокрутки
- 150 Размер области просмотра
- 151 Перетаскивание
- 156 Библиотеки
- 157 moo.fx и jQuery
- 158 Scriptaculous
- 158 Перестроение путем перетаскивания
- 159 Ползунок для ввода данных
- 160 Вывод
- 161 Глава 8. Усовершенствование форм
- 161 Проверка данных формы
- 164 Обязательные поля
- 166 Соответствие шаблону
- 166 Адреса электронной почты
- 166 URL
- 167 Телефонные номера
- 168 Дата
- 168 Набор правил
- 170 Отображение сообщений об ошибках
- 170 Проверка приемлемости данных
- 174 Когда следует проводить проверку
- 174 Проверка, предшествующая отправке данных формы
- 175 Проверка после внесения в поле изменений
- 176 Проверка после загрузки страницы
- 176 Повышение качества работы с формами
- 176 Накладные надписи
- 179 Пометка обязательных полей
- 180 Выводы
- 161 Проверка данных формы
- 182 Глава 9. Создание галерей изображений
- 182 Примеры галерей
- 182 Lightbox
- 184 ThickBox
- 186 Создание галереи
- 188 Ненавязчивая загрузка
- 190 Наложение затемнения
- 192 Позиционируемый контейнер
- 196 Переходы
- 198 Демонстрация изображений
- 201 Вывод
- 182 Примеры галерей
- 201 Глава 10. Введение в Ajax
- 202 Использование Ajax
- 202 HTTP-запросы
- 203 Установка соединения
- 204 Преобразование данных в последовательную форму
- 206 Создание GET-запроса
- 206 Создание POST-запроса
- 208 HTTP ответ
- 209 Обработка ошибок
- 210 Проверка истечения времени запроса
- 211 Обработка ответных данных
- 212 Полноценный Ajax-пакет
- 215 Примеры различного использования данных
- 215 RSS-поток, основанный на формате XML
- 217 Вставка HTML
- 218 JSON и JavaScript: Удаленное выполнение
- 219 Вывод
- 220 Глава 11. Усовершенствование блогов с помощью Ajax
- 220 Бесконечный блог
- 220 Шаблон блога
- 223 Источник данных
- 224 Определение наступления событий
- 225 Запрос
- 226 Результат
- 229 Наблюдение за ведением блога в режиме реального времени
- 232 Вывод
- 233 Глава 12. Поиск автозаполнения
- 233 Примеры поиска автозаполнения
- 235 Построение страницы
- 236 Отслеживание ввода с клавиатуры
- 240 Извлечение результатов
- 243 Переход по списку результатов
- 243 Перемещения с помощью клавиатуры
- 244 Перемещение с помощью мыши
- 244 Окончательный результат
- 250 Вывод
- 251 Глава 13. Ajax Wiki
- 251 Что такое Wiki?
- 252 Обращение к базе данных
- 253 Ajax-запрос
- 254 Код на стороне сервера
- 254 Обработка запроса
- 256 Выполнение и форматирование SQL
- 258 Обработка JSON-ответа
- 259 Дополнительный учебный пример: JavaScript блог
- 260 Код приложения
- 261 Основной код JavaScript
- 264 JavaScript SQL-библиотека
- 265 Ruby-код на стороне сервера
- 268 Вывод
- 269 Глава 14. В каком направлении движется JavaScript?
- 269 JavaScript 1.6 и 1.7
- 269 JavaScript 1.6
- 269 ECMAScript для XML (E4X)
- 271 Дополнительные возможности по работе с массивами
- 272 JavaScript 1.7
- 272 Включения в массив
- 273 Управление областью видимости переменных (Let Scoping)
- 274 Деструктуризация
- 275 Web Applications 1.0
- 276 Создание часов
- 280 Простая модель планет
- 282 Comet
- 285 Вывод
- 269 JavaScript 1.6 и 1.7
- 287 Приложение А. Справочник по DOM
- 287 Resources
- 287 Терминология
- 288 Предок
- 288 Атрибут
- 288 Дочерний элемент
- 288 Элемент Document
- 288 Потомки
- 288 Элемент
- 288 Узел
- 288 Родитель
- 289 Сестры
- 289 Текстовые узлы
- 289 Глобальные переменные
- 289 document
- 289 HTMLElement
- 290 Перемещение по DOM
- 290 body
- 290 childNodes
- 290 documentElement
- 291 firstChild
- 291 getElementById( элемID )
- 291 getElementsByTagName( имяТега )
- 292 lastChild
- 292 nextSibling
- 293 parentNode
- 293 previousSibling
- 293 Информация об узле
- 293 innerText
- 294 nodeName
- 294 nodeType
- 295 nodeValue
- 296 Атрибуты
- 296 className
- 296 getAttribute( имяАтрибута )
- 297 removeAttribute( имяАтрибута )
- 297 setAttribute( attrName, attrValue )
- 298 Модификация DOM
- 298 appendChild( добавляемыйУзел )
- 298 cloneNode( true|false )
- 299 createElement( имяТега )
- 299 createElementNS( пространство_имен, имяТега )
- 300 createTextNode( тесктоваяСтрока )
- 300 innerHTML
- 301 insertBefore( узелДляВставки, узелПередКоторымВставлять)
- 301 removeChild( удаляемыйУзел )
- 302 replaceChild( вставляемыйУзел, заменяемыйУзел )
- 303 Приложение Б. Справочник по событиям
- 303 Источники информации
- 303 Терминология
- 303 Асинхронный
- 303 Прикрепление / Привязка / Регистрация обратного вызова
- 303 Всплытие
- 303 Захват
- 304 Исходное действие (или действие по умолчанию)
- 304 Событие
- 304 Обработчик события
- 304 Потоковый
- 304 Объект события
- 304 Общие свойства
- 304 type
- 305 target / srcElement
- 305 stopPropagation() / cancelBubble
- 306 preventDefault() / returnValue = false
- 307 Свойства мыши
- 307 clientX / clientY
- 307 pageX / pageY
- 307 layerX / layerY и offsetX / offsetY
- 307 button
- 308 relatedTarget
- 309 Свойства клавиатуры
- 309 ctrlKey
- 309 keyCode
- 311 shiftKey
- 311 События страницы
- 311 load
- 312 beforeunload
- 312 error
- 313 resize
- 313 scroll
- 313 unload
- 314 События пользовательского интерфейса (UI)
- 314 focus
- 314 blur
- 314 События мыши
- 314 click
- 315 dblclick
- 315 mousedown
- 315 mouseup
- 315 mousemove
- 316 mouseover
- 316 mouseout
- 317 События клавиатуры
- 317 keydown / keypress
- 318 keyup
- 318 События форма
- 318 select
- 318 change
- 319 submit
- 319 reset
- 321 Приложение В. Браузеры
- 321 Современные браузеры
- 321 Internet Explorer
- 321 Версии 5.5 и 6.0
- 321 Версия 7
- 321 Mozilla
- 322 Firefox 1.0, Netscape 8 и Mozilla 1.7
- 322 Firefox 1.5 и 2.0
- 322 Safari
- 322 Opera
- 322 Версия 8.5
- 322 Версия 9.0
Инструкция как скачать книгу Джон Рейсиг: JavaScript. Профессиональные приёмы программирования в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Рейтинг книги:
0 голосов
513