Чтение онлайн

на главную - закладки

Жанры

JavaScript. Подробное руководство, 6-е издание
Шрифт:

Эта глава начинается с краткого обзора клиентского JavaScript. Она представляет простой пример и описание роли JavaScript в веб-документах и в веб-приложениях. Кроме того, здесь приводится краткое содержание глав второй части книги. Последующие разделы описывают, как программный код на языке JavaScript встраивается в HTML-документы и выполняется в них. Далее следуют разделы с обсуждением трех важных тем программирования на JavaScript: совместимости, удобства и безопасности.

13.1. Клиентский JavaScript

Объект

Window
является средоточием всех особенностей и прикладных интерфейсов клиентского JavaScript. Он представляет окно веб-броузера
или фрейм, а сослаться на него можно с помощью идентификатора
window
. Объект
Window
определяет свойства, такие как
location
, которое ссылается на объект
Location
, определяющий URL текущего окна, и позволяет сценарию загружать в окно содержимое других адресов URL:

// Установить значение свойства для переход на новую веб-страницу

window.location = " http://www.oreilly.com/ ";

Кроме того, объект

Window
определяет методы, такие как
alert,
который отображает диалог с сообщением, и
setTimeout,
который регистрирует функцию для вызова через указанный промежуток времени:

// Ждать 2 секунды и вывести диалог с приветствием

setTimeout(function { alert("Привет, Мир!"); }, 2000);

Обратите внимание, что программный код выше неявно использует свойство объекта

window
. Объект
Window
в клиентском JavaScript является глобальным объектом. Это означает, что объект
Window
находится на вершине цепочки областей видимости и что его свойства и методы фактически являются глобальными переменными и функциями. Объект
Window
имеет свойство
window
, которое всегда ссылается на сам объект. Это свойство можно использовать для ссылки на сам объект, но обычно в этом нет необходимости, если требуется просто сослаться на свойство глобального объекта окна.

Объект

Window
определяет также множество других важных свойств, методов и конструкторов. Полный их перечень можно найти в главе 14.

Одним из наиболее важных свойств объекта

Window
является свойство
document
: оно ссылается на объект
Document
, который представляет содержимое документа, отображаемого в окне. Объект
Document
имеет важные методы, такие как
getElementByld
, который возвращает единственный элемент документа (представляющий пару из открывающего и закрывающего тегов HTML и все, что содержится между ними), опираясь на значение атрибута
id
элемента:

// Отыскать элемент с атрибутом id="timestamp"

var timestamp = document.getElementById("timestamp");

Объект

Element
, возвращаемый методом
getElementByld,
также имеет ряд важных свойств и методов, позволяющих
сценарию извлекать содержимое элемента, устанавливать значения его атрибутов и т. д.:

// Если элемент пуст, вставить в него текущую дату и время

if (timestamp.firstChild == null)

timestamp.appendChild(document.createTextNode(new Date.toString));

Приемы получения ссылок на элементы, обхода элементов и изменения содержимого документа описываются в главе 15.

Каждый объект

Element
имеет свойства
style
и
className
, позволяющие определять стили CSS элемента документа или изменять имена классов CSS, применяемых к элементу. Установка этих свойств, имеющих отношение к CSS, изменяют визуальное представление элемента документа:

// Явно изменить представление элемента заголовка

timestamp.style.backgroundColor = "yellow";

// Или просто изменить класс и позволить определять особенности

// визуального представления с помощью каскадных таблиц стилей:

timestamp.className = "highlight";

Свойства

style
и
className
, а также другие приемы управления стилями CSS описываются в главе 16.

Другим важным множеством свойств объектов

Window
,
Document
и
Element
являются свойства, ссылающиеся на обработчики событий. Они позволяют сценариям определять функции, которые должны вызываться асинхронно при возникновении определенных событий. Обработчики событий позволяют программам на языке JavaScript изменять поведение окон, документов и элементов, составляющих документы. Свойства, ссылающиеся на обработчики событий, имеют имена, начинающиеся с «on», и могут использоваться, как показано ниже:

// Обновить содержимое элемента timestamp, когда пользователь щелкнет на нем

timestamp.onclick = function { this.innerHTML = new Date.toString; }

Одним из наиболее важных обработчиков событий является обработчик

onload
объекта
Window
. Это событие возникает, когда содержимое документа, отображаемое в окне, будет загружено полностью и станет доступно для выполнения манипуляций. Программный код на языке JavaScript обычно заключается в обработчик события
onload
. События являются темой главы 17. Пример 13.1 использует обработчик
onload
и демонстрирует дополнительные приемы получения ссылок на элементы документа, изменения классов CSS и определения обработчиков других событий в клиентском JavaScript. В этом примере программный код на языке JavaScript заключен в HTML-тег
<script>
. Подробнее этот тег описывается в разделе 13.2. Обратите внимание, что в этом примере имеется определение функции, заключенное в определение другой функции. Вложенные функции часто используются в клиентских сценариях на языке JavaScript, особенно в виде обработчиков событий.

Поделиться:
Популярные книги

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Хозяин Хаоса I

Петров Максим Николаевич
1. Хозяин Хаоса
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Хаоса I

Черный Маг Императора 11

Герда Александр
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный Маг Императора 11

Товарищ "Чума" 10

lanpirot
10. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 10

Сапер

Вязовский Алексей
1. Сапер
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.29
рейтинг книги
Сапер

Волкодав

Семёнова Мария Васильевна
1. Волкодав
Фантастика:
фэнтези
героическая фантастика
9.46
рейтинг книги
Волкодав

Газлайтер. Том 6

Володин Григорий
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Воплощение Похоти

Некрасов Игорь
1. Воплощение Похоти
Фантастика:
юмористическое фэнтези
попаданцы
рпг
аниме
5.00
рейтинг книги
Воплощение Похоти

Последний реанорец. Том I и Том II

Павлов Вел
1. Высшая Речь
Фантастика:
фэнтези
7.62
рейтинг книги
Последний реанорец. Том I и Том II

Первый среди равных. Книга III

Бор Жорж
3. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
6.00
рейтинг книги
Первый среди равных. Книга III

Черный Маг Императора 23

Герда Александр
23. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 23

Мастер Трав III

Мордорский Ваня
3. Мастер Трав
Фантастика:
фэнтези
рпг
фантастика: прочее
попаданцы
5.75
рейтинг книги
Мастер Трав III

Тайна корабля

Стивенсон Роберт Льюис
Проза:
классическая проза
5.00
рейтинг книги
Тайна корабля