Предисловие

Глава 1. Введение в JavaScript и работу в Сети
Введение в JavaScript
Что такое JavaScript
JavaScript и Сеть
Почему именно JavaScript?
Что JavaScript может предложить программисту
Инструменты, необходимые для создания веб-приложений
на языке JavaScript
Тег SCRIPT и первый пример программы на языке JavaScript
Краткий обзор броузеров и проблем, связанных с совместимостью
Первое знакомство с электронной викториной
Идеи, положенные в основу викторины
Какая функциональность будет добавлена и когда
Резюме

Глава 2. Типы данных и переменные
Типы данных в JavaScript
Числовые данные
Текстовые данные
Булевские данные
Переменные - хранение данных в памяти
Объявление переменных и присваивание им значений
Присваивание переменным значений других переменных
Настройка броузера на показ ошибок
Показ ошибок в броузере Netscape Navigator
Показ ошибок в броузере Internet Explorer
Что происходит, когда допущена ошибка
Работа с данными. Вычисления и основные операции над строками
Вычисления
Приоритет операций
Основные операции над строками
Сочетание чисел и строк
Преобразование типов данных
Массивы
Многомерные массивы
Викторина. Сохранение в памяти вопросов с помощью массивов
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 3. Условия, циклы и функции
Принятие решений - операторы if и switch
Операции сравнения
Оператор if
Логические операции
Несколько условий в одном операторе if
Операторы else и else if
Сравнение строк
Оператор switch
Циклы. Операторы for и while
Цикл for
Цикл for...in
Цикл while
Цикл do...while
Операторы break и continue
Функции
Создание собственных функций
Область видимости и время жизни
Викторина. Создание одной из основных функций
Резюме
Задания для самопроверки
Задание 1
Задание 2
Задание 3
Задание 4

Глава 4. JavaScript - объектно-базированный язык
Объектно-базированное программирование
Краткое введение в объекты
Объекты в JavaScript
Применение объектов языка JavaScript
Базовые типы и объекты
Встроенные объекты языка JavaScript
Объект String
Объект Math
Объекты Array
Объект Date
Резюме
Задания для самопроверки
Задание 1
Задание 2
Задание 3

Глава 5. Программирование броузера
Введение в объекты броузера
Объект window - окно со страницей
Объект history
Объект location
Объект navigator
Объект screen
Объект document. Собственно страница
Связывание кода с событиями на веб-странице
Примеры проверки версии броузера
Резюме
Задания для самопроверки
Задание 1
Задание 2
Задание 3

Глава 6. HTML-формы: взаимодействие с пользователем
HTML-формы
Другие свойства и методы объекта Form
HTML-элементы в формах
Общие свойства и методы
Кнопки формы
Текстовые элементы
Текстовая область
Флажки и переключатели
Элементы выбора
Викторина
Создание формы
Создание переключателей с ответами
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 7. Окна и кадры
Кадры и объект window
Доступ к одному кадру из другого
Обращение из одного кадра к другому
Открытие новых окон
Открытие нового окна броузера
Обращение к одному окну из другого
Изменение размера и положения окон
Безопасность
Викторина
Создание новой викторины
Как это работает
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 8. Манипуляции со строками
Дополнительные строковые методы
Метод split()
Метод replace()
Метод search()
Метод match()
Регулярные выражения
Простейшие регулярные выражения
Регулярные выражения: специальные символы
Охват все возможностей
Группировка регулярных выражений
Объект String: методы split(), replace(), search() и match()
Метод split()
Метод replace()
Метод search()
Метод match()
Применение конструктора объекта RegExp
Викторина
Резюме
Задания для самопроверки
Задание 1
Задание 2
Задание 3

Глава 9. Дата, время и таймеры
Всемирное время
Установка и получение даты и времени объекта Date по стандарту UTC
Таймеры на веб-странице
Одноразовый таймер
Установка таймера, срабатывающего через регулярные интервалы
Викторина
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 10. Типичные ошибки. Отладка и обработка ошибок
Неужели я это сделал? Некоторые типичные ошибки
1: Неопределенные переменные
2: Регистр букв
3: Несоответствие открывающих и закрывающих фигурных скобок
4: Пропущенные плюсы при конкатенации
5: Присваивание вместо проверки на равенство
6: Несоответствие открывающих и закрывающих фигурных скобок
7: Использование метода в качестве свойства и наоборот
Отладчик сценариев фирмы Microsoft
Как получить отладчик сценариев
Установка отладчика сценариев
Работа с отладчиком сценариев
Отладка для Netscape Navigator
Консоль JavaScript
Отладчик Netscape
Обработка ошибок
Предупреждение ошибок
Оператор try...catch
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 11. Сохранение информации: cookies
Ваш первый cookie
Свежеиспеченный cookie
Строки cookie
Создание cookie
Как получить значение cookie
Ограничения cookie
Викторина - сохранение результатов предыдущей викторины
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 12. Динамический HTML
Таблицы стилей
Добавление стилевых элементов
Позиционирование элементов
Таблицы стилей и JavaScript
Динамический HTML и Internet Explorer 4.+
Доступ к тегам страницы
Изменение внешнего вида
Позиционирование и перемещение содержимого страницы
Изменение, добавление и удаление содержимого
События DHTML и объект event в броузере Internet Explorer
Динамические меню в Internet Explorer
Динамический HTML и Netscape Navigator 4.х
Тег и объект Layer
Объект event в броузере Netscape Navigator
Динамические меню в Netscape Navigator 4.х
Полная версия системы DHTML-меню для Netscape Navigator
Межброузерная совместимость по DHTML: IE 4.0+ и NN 4.х
Небольшие изменения в страницах
Переадресация броузера
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 13. Объектная модель документа
Зачем нужны веб-стандарты?
Веб-стандарты
HTML
ECMAScript
XML
XHTML
Объектная модель документа (DOM)
Стандарт DOM
Различия между моделями DOM и BOM
Представление HTML-документа в виде дерева
Объекты модели DOM
Свойства и методы модели DOM
Модель событий DOM
Создание межброузерного DHTML-кода с помощью DOM
Пример с анимацией текста
Пример с добавлением и удалением текста
Пример с перемещением указателя мыши
Пример с динамическими меню
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 14. Применение элементов ActiveX
и добавляемых модулей в JavaScript
Netscape Navigator: проверка наличия добавляемых модулей и их внедрение
Вставка добавляемого модуля в код веб-страницы
Проверка на наличие установки добавляемого модуля
Internet Explorer: проверка наличия элементов управления ActiveX
и их внедрение
Вставка элемента управления ActiveX в веб-страницу
Установка элементов управления ActiveX
Применение добавляемых модулей и элементов управления ActiveX
Тестирование кода переадресации
Возможные проблемы
Резюме
Задания для самопроверки
Задание 1

Глава 15. Создание серверных сценариев
с использованием технологии ASP
Что такое серверная обработка данных?
Персональный веб-сервер (PWS)
Установка PWS в Windows 98
Управление PWS в Windows 98
Введение в активные серверные страницы (ASP)
Вставка серверного сценария
Различия между серверными и клиентскими сценариями
Создание серверного сценария
Объекты ASP
Запросы и ответы
Объект Request. Получение информации от пользователя
Объект Response. Отправка информации клиенту
Объект Server. Выполнение компонентов
Объект Session. Ведение учета пользователей
Объект Application
Электронная викторина. Серверная версия
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 16. Базы данных
Краткое введение в базы данных
Как в базах данных организована информация
Создание базы данных
Построение базы данных. Добавление новых полей и таблиц
Отношения и первичные ключи
Язык SQL
Обращение к базе данных из веб-страницы
Установка соединения
Получение информации из базы данных
Изменение информации в базе данных
Электронная викторина
База данных викторины
Изменения в логике приложения-викторины
Изменения на странице QuizPage.asp
Изменения на странице GlobalFunctions.htm
Изменения на странице NoteUserSelections.asp
Вопросы к участнику викторины.
Изменения на странице AskQuestion.htm
Проверка ответа. Страница CheckAnswer.asp
Вывод результатов
Резюме
Задания для самопроверки
Задание 1
Задание 2

Глава 17. Несколько слов в заключение
Ограничения языка JavaScript
Скорость
Мощность
Язык и программное окружение
Другие области применения языка JavaScript
Хост сценариев Windows (WSH)
Расширяемый язык разметки (XML)
Удаленные сценарии
Интерфейс ADSI
Резюме

Приложение A. Ответы и решения

Приложение B. JavaScript. Справочник по ядру языка

Приложение C. Клиентская версия JavaScript. Справочник

Приложение D. Набор символов Latin-1

Приложение E. Объектная модель броузера Internet Explorer 4

Приложение F. Объектная модель броузера Internet Explorer 5

Приложение G. Объектная модель броузера Netscape Navigator 4

Приложение H. Объектная модель ASP 3.0

Приложение I. Полезные ресурсы

Приложение J. Поддержка, опечатки и сайт P2P.Wrox.Com

Алфавитный указатель