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 Выводы
  • 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 Выводы
  • 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 Вывод
  • 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 Вывод
  • 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 Выводы
  • 182 Глава 9. Создание галерей изображений
    • 182 Примеры галерей
      • 182 Lightbox
      • 184 ThickBox
    • 186 Создание галереи
    • 188 Ненавязчивая загрузка
    • 190 Наложение затемнения
    • 192 Позиционируемый контейнер
    • 196 Переходы
    • 198 Демонстрация изображений
    • 201 Вывод
  • 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 Вывод
  • 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 совершенно бесплатно.
JavaScript. Профессиональные приёмы программирования
Рейтинг книги:
0 голосов
513

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: