Самоучитель JavaScript. 3-е изд. В. Дунаев 978538800331 Содержание От автора 11 Благодарность От издательства 12 12 Введение Глава 1. Основы JavaScript 13 18 1.1. Где писать программы и как их запускать 1.2. Ввод и вывод данных 1.2.1. alert 1.2.2. confirm 1.2.3. prompt 1.3. Типы данных 1.4. Переменные и оператор присвоения 1.4.1. Имена переменных 1.4.2. Создание переменных 1.4.3. Область действия переменных 1.5. Операторы 1.5.1. Комментарии 1.5.2. Арифметические операторы 1.5.3. Дополнительные операторы присвоения 1.5.4. Операторы сравнения 1.5.5. Логические операторы 1.5.6. Операторы условного перехода 1.5.7. Операторы цикла 1.5.8. Выражения с операторами 1.6. Функции 1.6.1. Встроенные функции 1.6.2. Пользовательские функции 1.6.3. Выражения с функциями 1.7. Встроенные объекты 1.7.1. Объект String (Строка) 1.7.2. Объект Array (Массив) 1.7.3. Объект Number (Число) 1.7.4. Объект Math (Математика) 1.7.5. Объект Date (Дата) 1.7.6. Объект Boolean (Логический) 1.7.7. Объект Function (Функция) 1.7.8. Объект Object 1.8. Пользовательские объекты 1.8.1. Создание объекта 1.8.2. Добавление свойств 1.8.3. Связанные объекты 1.8.4. Пример создания базы данных с помощью объектов 1.9. Специальные операторы 1.9.1. Побитовые операторы 1.9.2. Объектные операторы 1.9.3. Комплексные операторы 1.10. Приоритеты операторов 1.11. Зарезервированные ключевые слова 18 22 22 23 24 25 29 30 30 31 32 32 33 35 35 37 38 42 46 48 48 50 55 55 57 66 74 79 85 91 91 95 96 97 98 99 99 103 103 104 105 106 108 Глава 2. Основы создания сценариев 110 2.1. Из истории программирования 2.2. От простого до динамического HTML 2.2.1. Простой HTML 2.2.2. Динамический HTML 2.3. Где, что и как делают сценарии 2.3.1. Расположение сценариев 2.3.2. Обработка событий 110 113 113 116 117 117 121 2.3.3. Объекты, управляемые сценариями 2.4. Понятие события 2.4.1. Свойства события 2.4.2. Прохождение событий 2.4.3. Указание обработчика события в сценарии 2.5. Работа с окнами и фреймами 2.5.1. Создание новых окон 2.5.2. Фреймы 2.5.3. Плавающие фреймы 2.5.4. Всплывающие окна 2.6. Динамическое изменение элементов документа 2.6.1. Использование метода write() 2.6.2. Изменение значений атрибутов элементов 2.6.3. Изменение элементов 2.7. Загрузка изображений 2.8. Управление процессами во времени 2.9. Работа с Cookie 124 131 131 137 139 140 141 144 150 151 154 155 155 156 158 161 163 Глава 3. Объектная модель браузера и документа 169 3.1. Объект window 3.1.1. Свойства window 3.1.2. Методы window 3.1.3. События window 3.2. Объект document 3.2.1. Свойства document 3.2.2. Коллекции document 3.2.3. Методы document 3.2.4. События document 3.3. Объект location 3.3.1. Свойства location 3.3.2. Методы location 3.4. Объект history 3.4.1. Свойство history 3.4.2. Методы history 3.5. Объект navigator 3.5.1. Свойства navigator 3.5.2. Коллекции navigator 3.5.3. Методы navigator 3.6. Объект event 3.7. Объект screen 3.7.1. Объект TextRange 3.7.2. Свойства TextRange 3.7.3. Методы TextRange 169 169 171 171 172 172 173 173 174 175 175 175 175 176 176 176 176 176 177 177 178 178 178 178 Глава 4. Примеры сценариев 180 4.1. Простые визуальные эффекты 4.1.1. Смена изображений 4.1.2. Подсветка кнопок и текста 4.1.3. Мигающая рамка 4.1.4. Переливающиеся цветами ссылки 4.1.5. Объемные заголовки 4.1.6. Применение фильтров 4.1.7. Эффект печати на пишущей машинке 4.2. Движение элементов 4.2.1. Движение по заданной траектории 4.2.2. Перемещение мышью 4.3. Рисование линий 4.3.1. Прямая линия 4.3.2. Произвольная кривая 4.3.3. Графики зависимостей, заданных выражениями 4.3.4. Графики зависимостей, заданных массивами 4.3.5. Динамические линии 4.4. Напишем число словами 4.5. Обработка данных форм 4.6. Меню 180 180 182 183 184 185 187 195 196 196 203 211 212 217 220 221 223 225 229 234 4.6.1. Раскрывающийся список 4.6.2. Настоящее меню 4.7. Поиск в текстовой области 4.8. Таблицы и простые базы данных 4.8.1. Доступ к элементам таблицы 4.8.2. Добавление и удаление строк таблицы 4.8.3. Генерация таблиц с помощью сценария 4.8.4. Простые базы данных 4.8.5. Сортировка данных таблицы 4.8.6. Фильтрация данных таблицы 4.8.7. Поиск по сайту 4.8.8. Вставка HTMLJдокумента в таблицу 4.8.9. Обработка табличных данных 4.8.10. Защита вебJстраниц с помощью пароля 4.9. Взаимодействие с FlashJмультфильмами 4.9.1. Передача данных из JavaScript в ActionScript 4.9.2. Вызов сценария JavaScript из сценария ActionScript 234 236 240 243 243 245 246 247 254 255 257 262 264 266 270 271 274 Глава 5. Работа с файловой системой и реестром Windows 277 5.1. Создание объекта файловой системы 5.2. Работа с дисками 5.3. Работа с папками 5.3.1. Создание папки 5.3.2. Копирование, перемещение и удаление папки 5.4. Работа с файлами 5.4.1. Создание текстового файла 5.4.2. Копирование, перемещение и удаление файла 5.4.3. Чтение данных из файла и запись данных в файл 5.4.4. Создание ярлыков 5.4.5. Запуск приложений 5.5. Работа с реестром 278 279 282 282 283 284 284 286 287 290 292 292 Глава 6. Советы для обеспечения совместимости с другими браузерами 297 6.1. Доступ к элементам документа 6.2. Обработка событий 297 297 Приложение 1. Руководство по динамическому HTML 300 Основные понятия Форматирование текстов Стандартные логические стили Управление шрифтом Цвет Текст заданного формата Списки Разделительные полосы Бегущая строка Специальные и зарезервированные символы Графика на вебJстраницах Вставка изображений Фоновая графика Ссылки Текстовые ссылки Графические ссылки URLJадреса ссылок Ссылки в пределах одного документа Таблицы Стили Позиционирование элементов Статические фильтры Динамические фильтры Таблицы стилей в отдельных файлах Вставка FlashJмультфильма в вебJстраницу Вставка звука и видео Поле ввода данных Переключатели (radiobuttons) Флажки 300 306 307 308 312 313 313 315 316 317 319 320 322 323 323 323 325 326 328 336 340 343 346 350 350 351 353 354 356 Кнопки Фреймы Тег <META> Группа HTTPJEQUIV (HTTPJэквиваленты) Группа NAME (имя) 357 358 362 362 363 Приложение 2. Справочник по HTML 365 Теги HTML Структура документа Заголовки и названия Абзацы и строки Стили Списки Таблицы Ссылки Графика, объекты, мультимедиа и сценарий Формы Фреймы Таблицы стилей Единицы измерения Свойства динамического HTML События динамического HTML 365 365 366 367 367 369 369 370 370 371 372 373 373 373 389 Алфавитный указатель 385