RUSSIAN

JavaScript. Подробное руководство

Book information

Publisher
Символ Плюс
Year
2008
ISBN
5-93286-103-7, 978-5-93286-103-5
Language
russian
Format
PDF
Filesize
8 MB (8103280 bytes)
Edition
5-е
Pages
992\980
Library
mirknig.com
Time added
2011-01-04 10:04:03

Description

Пятое издание бестселлера «JavaScript. Подробное руководство» полностью обновлено. Рассматриваются взаимодействие с протоколом HTTP и применение технологии Ajax, обработка XMLдокументов, создание графики на стороне клиента с помощью тега , пространства имен в JavaScript, необходимые для разработки сложных программ, классы, замыкания, Flash и встраивание сценариев JavaScript в Javaприложения. Часть I знакомит с основами JavaScript. В части II описывается среда разработки сценариев, предоставляемая вебброузерами. Многочисленные примерыдемонстрируют, как генерировать оглавление HTMLдокумента, отображать анимированные изображения DHTML, автоматизировать проверку правильности заполнения форм, создавать всплывающие подсказки с использованием Ajax, как применять XPath и XSLT для обработки XMLдокументов, загру женных с помощью Ajax. Часть III – обширный справочник по базовому JavaScript (классы, объекты, конструкторы, методы, функции, свойства и константы, определенные в JavaScript 1.5 и ECMAScript v3). Часть IV – справочник по клиентскому JavaScript (API вебброузеров, стандарт DOM API Level 2 и недавно появившиеся стандарты: объект XMLHttpRequest и тег ). Оглавление......Page 4 Что нового в пятом издании......Page 10 Порядок работы с книгой......Page 11 Отзывы и предложения......Page 14 Благодарности......Page 15 Глава 1. Введение в JavaScript......Page 17 1.2. Версии JavaScript......Page 18 1.3.1. Примеры использования клиентского JavaScri......Page 20 1.4. Другие области использования JavaScript......Page 25 1.5. Изучение JavaScript......Page 26 Часть I. Основы JavaScript......Page 28 2.1. Набор символов......Page 30 2.4. Необязательные точки с запятой......Page 31 2.5. Комментарии......Page 32 2.7. Идентификаторы......Page 33 2.8. Зарезервированные слова......Page 34 Глава 3. Типы данных и значения......Page 36 3.1.2. Шестнадцатеричные и восьмеричные литералы......Page 37 3.1.4. Работа с числами......Page 38 3.1.6. Специальные числовые значения......Page 39 3.2.1. Строковые литералы......Page 40 3.2.2. Управляющие последовательности в строковых......Page 41 3.2.3. Работа со строками......Page 42 3.2.4. Преобразование чисел в строки......Page 43 3.2.5. Преобразование строк в числа......Page 45 3.3.1. Преобразование логических значений......Page 46 3.4. Функции......Page 47 3.5. Объекты......Page 48 3.5.1. Создание объектов......Page 49 3.6. Массивы......Page 50 3.6.2. Литералы массивов......Page 51 3.8. Значение undefined......Page 52 3.10. Регулярные выражения......Page 53 3.12. Преобразование типов......Page 54 3.13. Объекты-обертки для элементарных типов данн......Page 55 3.14. Преобразование объектов в значения элемента......Page 57 3.15. По значению или по ссылке......Page 58 3.15.1. Элементарные и ссылочные типы......Page 60 3.15.2. Копирование и передача строк......Page 62 3.15.4. По ссылке или по значению: подведение ито......Page 63 4.1. Типизация переменных......Page 64 4.2. Объявление переменных......Page 65 4.3. Область видимости переменной......Page 66 4.3.1. Отсутствие блочной области видимости......Page 67 4.4. Элементарные и ссылочные типы......Page 68 4.5. Сборка мусора......Page 70 4.6.3. Контексты исполнения в JavaScript......Page 71 4.7. Еще об области видимости переменных......Page 72 5.1. Выражения......Page 74 5.2. Обзор операторов......Page 75 5.2.1. Количество операндов......Page 76 5.2.3. Приоритет операторов......Page 77 5.3. Арифметические операторы......Page 78 5.4.1. Равенство (==) и идентичность (===)......Page 80 5.4.2. Неравенство (!=) и неидентичность (!==)......Page 82 5.5.1. Операторы сравнения......Page 83 5.5.3. Оператор instanceof......Page 84 5.6. Строковые операторы......Page 85 5.7.1. Логическое И (&&)......Page 86 5.7.2. Логическое ИЛИ (||)......Page 87 5.8. Поразрядные операторы......Page 88 5.9. Операторы присваивания......Page 89 5.9.1. Присваивание с операцией......Page 90 5.10.2. Оператор typeof......Page 91 5.10.3. Оператор создания объекта (new)......Page 92 5.10.5. Оператор void......Page 93 5.10.7. Операторы доступа к массивам и объектам......Page 94 5.10.8. Оператор вызова функции......Page 95 6.1. Инструкции-выражения......Page 96 6.2. Составные инструкции......Page 97 6.3. Инструкция if......Page 98 6.4. Инструкция else if......Page 99 6.5. Инструкция switch......Page 100 6.6. Инструкция while......Page 102 6.7. Цикл do/while......Page 103 6.8. Инструкция for......Page 104 6.9. Инструкция for/in......Page 105 6.10. Метки......Page 106 6.11. Инструкция break......Page 107 6.12. Инструкция continue......Page 108 6.13. Инструкция var......Page 109 6.14. Инструкция function......Page 110 6.15. Инструкция return......Page 111 6.16. Инструкция throw......Page 112 6.17. Инструкция try/catch/finally......Page 113 6.18. Инструкция with......Page 115 6.20. Итоговая таблица JavaScript-инструкций......Page 116 7.1. Создание объектов......Page 119 7.2. Свойства объектов......Page 120 7.2.2. Проверка существования свойств......Page 121 7.3. Объекты как ассоциативные массивы......Page 122 7.4.2. Метод toString()......Page 124 7.4.6. Метод propertyIsEnumerable()......Page 125 7.5. Массивы......Page 126 7.6. Чтение и запись элементов массива......Page 127 7.6.2. Удаление элементов массива......Page 128 7.6.5. Усечение и увеличение массива......Page 129 7.7.1. Метод join()......Page 130 7.7.3. Метод sort()......Page 131 7.7.6. Метод splice()......Page 132 7.7.8. Методы unshift() и shift()......Page 133 7.7.10. Дополнительные методы массивов......Page 134 7.8. Объекты, подобные массивам......Page 135 8.1. Определение и вызов функций......Page 136 8.1.2. Функциональные литералы......Page 138 8.1.3. Именование функций......Page 139 8.2.1. Необязательные аргументы......Page 140 8.2.2. Списки аргументов переменной длины: объект......Page 141 8.2.4. Типы аргументов......Page 143 8.3. Функции как данные......Page 145 8.4. Функции как методы......Page 147 8.6.1. Свойство length......Page 149 8.6.4. Методы apply и call()......Page 150 8.7. Практические примеры функций......Page 151 8.8.3. Объект вызова как пространство имен......Page 153 8.8.4. Вложенные функции в качестве замыканий......Page 154 8.9. Конструктор Function()......Page 160 9.1. Конструкторы......Page 162 9.2. Прототипы и наследование......Page 163 9.2.1. Чтение и запись унаследованных свойств......Page 165 9.2.2. Расширение встроенных типов......Page 167 9.3. Объектно-ориентированный язык JavaScript......Page 169 9.3.2. Методы экземпляра......Page 170 9.3.3. Свойства класса......Page 171 9.3.5. Пример: класс Circle......Page 172 9.3.6. Пример: комплексные числа......Page 173 9.4.1. Метод toString()......Page 175 9.4.2. Метод valueOf()......Page 176 9.4.3. Методы сравнения......Page 177 9.5. Надклассы и подклассы......Page 179 9.5.2. Вызов переопределенных методов......Page 182 9.6. Расширение без наследования......Page 183 9.7.1. Оператор instanceof и конструктор......Page 186 9.7.2. Определение типа объекта с помощью метода ......Page 187 9.7.3. Грубое определение типа......Page 188 9.8. Пример: вспомогательный метод defineClass()......Page 191 Глава 10. Модули и пространства имен......Page 195 10.1. Создание модулей и пространств имен......Page 196 10.1.2. Классы в качестве модулей......Page 199 10.1.3. Инициализация модуля......Page 200 10.2. Импорт символов из пространств имен......Page 201 10.2.2. Замыкания как частные пространства имен и......Page 203 10.3. Модуль со вспомогательными функциями......Page 205 11.1. Определение регулярных выражений......Page 211 11.1.1. Символы литералов......Page 212 11.1.2. Классы символов......Page 213 11.1.3. Повторение......Page 215 11.1.4. Альтернативы, группировка и ссылки......Page 216 11.1.5. Задание позиции соответствия......Page 218 11.1.6. Флаги......Page 219 11.2. Методы класса String для поиска по шаблону......Page 220 11.3.1. Методы класса RegExp для поиска по шаблон......Page 223 11.3.2. Свойства экземпляра RegExp......Page 225 12.1. Встраивание JavaScript......Page 226 12.1.1. Преобразование типов с помощью пакета jav......Page 231 12.1.2. Компиляция сценариев......Page 232 12.1.4. Реализация интерфейсов в JavaScript......Page 233 12.2. Взаимодействие с Java-кодом......Page 234 12.2.1. Класс JavaPackage......Page 236 12.2.2. Класс JavaClass......Page 237 12.2.3. Импорт пакетов и классов......Page 238 12.2.4. Класс JavaObject......Page 239 12.2.5. Методы Java......Page 240 12.2.6. Класс JavaArray......Page 241 12.2.8. Преобразование данных в LiveConnect......Page 242 Часть II. Клиентский JavaScript......Page 246 Глава 13. JavaScript в веб-броузерах......Page 248 13.1. Среда веб-броузера......Page 249 13.1.2. Иерархия объектов клиентского JavaScript......Page 250 13.1.3. Управляемая событиями модель программиров......Page 252 13.1.5. Ненавязчивый JavaScript-код......Page 253 13.2.1. Тег ......Page 255 13.2.2. Сценарии во внешних файлах......Page 256 13.2.3. Определение языка сценариев......Page 257 13.2.4. Атрибут defer......Page 259 13.2.7. Сокрытие сценариев от устаревших броузеро......Page 260 13.3. Обработчики событий в HTML......Page 261 13.4. JavaScript в URL......Page 263 13.4.1. Букмарклеты......Page 264 13.5.1. Сценарии......Page 265 13.5.3. Обработчики событий и URL-адреса в JavaSc......Page 266 13.5.5. Объект Window как контекст исполнения......Page 267 13.5.6. Модель управления потоками исполнения в к......Page 268 13.5.7. Манипулирование документом в процессе заг......Page 269 13.6. Совместимость на стороне клиента......Page 270 13.6.2. Несколько слов о «современных броузерах»......Page 271 13.6.3. Проверка особенностей......Page 272 13.6.5. Условные комментарии в Internet Explorer......Page 274 13.7. Доступность......Page 276 13.8.1. Чего не может JavaScript......Page 277 13.8.2. Политика общего происхождения......Page 278 13.8.4. Межсайтовый скриптинг......Page 280 13.9. Другие реализации JavaScript во Всемирной п......Page 282 Глава 14. Работа с окнами броузера......Page 284 14.1. Таймеры......Page 285 14.2.1. Анализ URL......Page 286 14.2.2. Загрузка нового документа......Page 287 14.3. Объекты Window, Screen и Navigator......Page 288 14.3.1. Геометрия окна......Page 289 14.3.3. Объект Navigator......Page 291 14.4.1. Открытие окон......Page 294 14.4.2. Закрытие окон......Page 295 14.4.5. Прокрутка......Page 296 14.4.6. Пример использования методов объекта Wind......Page 297 14.5. Простые диалоговые окна......Page 299 14.6. Строка состояния......Page 300 14.7. Обработка ошибок......Page 301 14.8.1. Отношения между фреймами......Page 303 14.8.2. Имена окон и фреймов......Page 304 14.8.3. JavaScript во взаимодействующих окнах......Page 306 14.9. Пример: панель навигации во фрейме......Page 308 Глава 15. Работа с документами......Page 311 15.1. Динамическое содержимое документа......Page 312 15.2. Свойства объекта Document......Page 314 15.3. Ранняя упрощенная модель DOM: коллекции объ......Page 316 15.3.1. Именование объектов документа......Page 317 15.3.2. Обработчики событий в объектах документа......Page 318 15.3.3. Пример использования ранней версии DOM......Page 319 15.4. Обзор объектной модели W3C DOM......Page 320 15.4.1. Представление документов в виде дерева......Page 321 15.4.2. Узлы......Page 322 15.4.3. DOM HTML API......Page 323 15.4.4. Уровни и возможности DOM......Page 325 15.4.5. Соответствие модели DOM......Page 326 15.4.6. Независимые от языка DOM-интерфейсы......Page 329 15.5. Обход документа......Page 331 15.6. Поиск элементов в документе......Page 332 15.7. Модификация документа......Page 336 15.7.2. Работа с фрагментами документа......Page 339 15.8. Добавление содержимого в документ......Page 340 15.8.1. Удобные методы создания узлов......Page 346 15.9. Пример: динамическое создание оглавления......Page 348 15.10. Получение выделенного текста......Page 353 15.11.2. Поиск элементов в документе......Page 354 15.11.3. Модификация документов......Page 356 Глава 16. CSS и DHTML......Page 357 16.1. Обзор CSS......Page 358 16.1.1. Применение правил стиля к элементам докум......Page 362 16.1.2. Связывание таблиц стилей с документами......Page 363 16.1.3. Каскад правил......Page 364 16.1.5. Пример CSS-таблицы......Page 365 16.2. CSS для DHTML......Page 367 16.2.1. Ключ к DHTML: абсолютное позиционирование......Page 368 16.2.2. Пример позиционирования средствами CSS: т......Page 370 16.2.3. Определение положения и размеров элемента......Page 373 16.2.5. Отображение и видимость элемента......Page 375 16.2.6. Блочная модель и детали позиционирования......Page 376 16.2.7. Цвет, прозрачность и полупрозрачность......Page 379 16.2.8. Частичная видимость: атрибуты overflow и......Page 380 16.2.9. Пример: перекрытие полупрозрачных окон......Page 381 16.3. Использование стилей в сценариях......Page 383 16.3.1. Соглашения об именах: CSS-атрибуты в Java......Page 384 16.3.2. Работа со свойствами стилей......Page 385 16.3.3. Пример: всплывающие подсказки в CSS......Page 386 16.3.4. DHTML-анимация......Page 388 16.4. Вычисляемые стили......Page 392 16.5. CSS-классы......Page 393 16.6.1. Включение и выключение таблиц стилей......Page 394 16.6.2. Объекты и правила таблиц стилей......Page 395 Глава 17. События и обработка событий......Page 400 17.1.1. События и типы событий......Page 401 17.1.2. Обработчики событий как атрибуты......Page 404 17.1.3. Обработчики событий как свойства......Page 405 17.1.4. Значения, возвращаемые обработчиками собы......Page 407 17.1.5. Обработчики событий и ключевое слово this......Page 408 17.1.6. Область видимости обработчиков событий......Page 409 17.2. Развитые средства обработки событий в модел......Page 411 17.2.1. Распространение событий......Page 412 17.2.2. Регистрация обработчиков событий......Page 413 17.2.4. Регистрация объектов в качестве обработчи......Page 415 17.2.5. Модули и типы событий......Page 416 17.2.6. Интерфейсы и детализирующие свойства собы......Page 418 17.2.7. Смешанная модель обработки событий......Page 421 17.3.1. Объект Event в IE......Page 422 17.3.3. Регистрация обработчика события в IE......Page 424 17.3.5. Перехват событий мыши......Page 425 17.3.6. Метод attachEvent() и ключевое слово this......Page 426 17.3.8. Пример: модель обработки событий, совмест......Page 427 17.4.1. Преобразование координат указателя мыши......Page 432 17.4.2. Пример: перетаскивание элементов документ......Page 434 17.5.1. Типы событий клавиатуры......Page 437 17.5.2. Информация о событиях клавиатуры......Page 438 17.5.3. Фильтрация ввода с клавиатуры......Page 439 17.5.4. Быстрые комбинации клавиш и класс Keymap......Page 441 17.6. Событие onload......Page 446 17.7. Искусственные события......Page 447 Глава 18. Формы и элементы форм......Page 450 18.1. Объект Form......Page 451 18.2. Определение элементов формы......Page 452 18.3. Сценарии и элементы формы......Page 456 18.3.1. Именование форм и элементов форм......Page 457 18.3.3. Обработчики событий элементов форм......Page 458 18.3.4. Элементы Button, Submit и Reset......Page 459 18.3.5. Элементы Checkbox и Radio......Page 460 18.3.6. Элементы Text, Textarea, Password и File......Page 461 18.3.7. Элементы Select и Option......Page 462 18.3.8. Элемент Hidden......Page 463 18.4. Пример верификации формы......Page 464 19.1. Обзор cookies......Page 469 19.2. Сохранение cookie......Page 472 19.3. Чтение cookies......Page 473 19.4. Пример работы с cookie......Page 474 19.5.1. Механизм сохранения userData в IE......Page 478 19.5.2. Механизм сохранения SharedObject подключа......Page 480 19.5.3. Пример: хранимые объекты......Page 482 19.6. Хранимые данные и безопасность......Page 490 Глава 20. Работа с протоколом HTTP......Page 491 20.1. Использование объекта XMLHttpRequest......Page 492 20.1.1. Создание объекта запроса......Page 493 20.1.2. Отправка запроса......Page 494 20.1.3. Получение синхронного ответа......Page 495 20.1.4. Обработка асинхронного ответа......Page 496 20.1.5. Безопасность объекта XMLHttpRequest......Page 498 20.2.1. Основные утилиты для работы с запросами G......Page 499 20.2.2. Получение только заголовков......Page 500 20.2.3. HTTP-метод POST......Page 501 20.2.4. Ответы в форматах HTML, XML и JSON......Page 502 20.2.5. Ограничение времени ожидания запроса......Page 504 20.3. Ajax и динамические сценарии......Page 506 20.3.1. Пример применения Ajax......Page 508 20.3.2. Одностраничные приложения......Page 510 20.3.4. Предостережения по использованию архитект......Page 511 20.4. Взаимодействие с протоколом HTTP с помощью......Page 513 21.1. Получение XML-документов......Page 515 21.1.1. Создание нового документа......Page 516 21.1.2. Загрузка документа из сети......Page 517 21.1.3. Синтаксический анализ текста XML-документ......Page 518 21.1.4. XML-документы в островках данных......Page 519 21.2.1. Модели XML DOM и HTML DOM......Page 521 21.2.2. Пример: создание HTML-таблицы на основе X......Page 523 21.3. Преобразование XML-документа с помощью XSLT......Page 525 21.4. Выполнение запросов к XML-документу с помощ......Page 528 21.4.1. Примеры использования XPath-выражений......Page 529 21.4.2. Выполнение XPath-выражений......Page 530 21.4.3. Дополнительно о W3C XPath API......Page 532 21.5. Сериализация XML-документа......Page 533 21.6. Разворачивание HTML-шаблонов с использовани......Page 534 21.7. XML и веб-службы......Page 537 21.8. E4X: EcmaScript для XML......Page 540 Глава 22. Работа с графикой на стороне клиента......Page 543 22.1.1. Изображения и модель DOM Level 0......Page 544 22.1.2. Традиционный прием смены изображений......Page 545 22.1.4. Ненавязчивая смена изображений......Page 546 22.1.5. Анимация изображений......Page 549 22.1.6. Прочие свойства изображений......Page 551 22.2. Графика и CSS......Page 552 22.2.1. Создание гистограмм средствами CSS......Page 553 22.2.2. Класс CSSDrawing......Page 555 22.3. SVG – масштабируемая векторная графика......Page 559 22.4. VML – векторный язык разметки......Page 566 22.5. Создание графики с помощью тега ......Page 569 22.6. Создание графики средствами Flash......Page 573 22.7.1. Построение круговой диаграммы средствами......Page 578 22.7.2. Создание на стороне клиента маленьких диа......Page 581 Глава 23. Сценарии с Java-апплетами и Flash-роликами......Page 585 23.1. Работа с апплетами......Page 587 23.2. Работа с подключаемым Java-модулем......Page 589 23.3. Взаимодействие с JavaScript-сценариями из J......Page 590 23.3.1. Компиляция и распространение апплетов, ис......Page 591 23.3.2. Преобразование типов данных между Java и......Page 592 23.3.3. Common DOM API......Page 593 23.4. Взаимодействие с Flash-роликами......Page 594 23.4.1. Встраивание и доступ к Flash-роликам......Page 595 23.4.3. Взаимодействие с Flash-роликами......Page 596 23.4.4. Обращение к JavaScript-коду из Flash......Page 597 23.4.5. Пример: из Flash в JavaScript и обратно......Page 598 23.5. Сценарии во Flash 8......Page 602 Часть III. Справочник по базовому JavaScript......Page 604 Часть IV. Справочник по клиентскому JavaScript......Page 716 Алфавитный указатель......Page 940

Similar books