Справочник по JavaScript 1.3

→ У

Этот материал является справочным пособием по языку программирования JavaScript, включая ядро и клиентский JavaScript версии 1.3.
JavaScript разработан корпорацией Netscape как межплатформенный объектно-ориентированный язык скриптинга (сценариев) для клиентских и серверных приложений.

Оглавление

О спецификации JavaScript 1.3

Новые возможности этой версии
Что Вы уже должны знать
Версии JavaScript
Где найти информацию о JavaScript
Соглашения по документам

Часть 1 Объекты. Справочник.

Глава 1 Объекты, Методы и Свойства
Anchor
Applet
Area
Array
Boolean
Button
Checkbox
Date
document
event
FileUpload
Form
Frame
Function
Hidden
History
Image
java
JavaArray
JavaClass
JavaObject
JavaPackage
Layer
Link
Location
Math
MimeType
navigator
netscape
Number
Object
Option
Packages
Password
Plugin
Radio
RegExp
Reset
screen
Select
String
Style
Submit
sun
Text
Textarea
window

Глава 2 Свойства и Функции Верхнего Уровня
escape
eval
Infinity
isFinite
isNaN
NaN
Number
parseFloat
parseInt
String
taint
undefined
unescape
untaint

Глава 3 Обработчики Событий
onAbort
onBlur
onChange
onClick
onDblClick
onDragDrop
onError
onFocus
onKeyDown
onKeyPress
onKeyUp
onLoad
onMouseDown
onMouseMove
onMouseOut
onMouseOver
onMouseUp
onMove
onReset
onResize
onSelect
onSubmit
onUnload

Часть 2 Элементы Языка

Глава 4 Операторы
break
comment
continue
do...while
export
for
for...in
function
if...else
import
label
return
switch
var
while
with

Глава 5 Операции

Присвоения
Сравнения
Использование Операций Равенства
Арифметические
% (Modulus)
++ (Инкремент)
-- (Декремент)
- (Унарное Отрицание)
Побитовые
Побитовые Логические
Сдвиг
Логические
Строковые
Специальные
?: (Условная операция)
, (Операция "запятая" (не "Ы"))
delete
new
this
typeof
void

Часть 3 LiveConnect. Справочник по Классам.

Глава 6 Классы, Конструкторы и Методы Java
JSException
JSObject
Plugin

Часть 4 Приложения

Приложение A Зарезервированные Слова

Приложение B Значения Цвета

Приложение C Куки Netscape

Индекс
→ У


Об этом справочнике JavaScript 1.3

§ ← → У

В данном предисловии имеются следующие разделы:

  • Новые возможности этой версии
  • Что Вы уже должны знать
  • Версии JavaScript
  • Где найти информацию о JavaScript
  • Соглашения по документам

Новые возможности этой версии

JavaScript версии 1.3 имеет следующие нововведения и улучшения:

  • Соответствие ECMA. JavaScript 1.3 полностью совместим с ECMA-262. См. детали в книге Клиентский JavaScript. Руководство.
  • Поддержка Unicode. Набор символов Unicode может использоваться для всех известных символов, и Вы можете использовать escape-последовательности Unicode в строковых литералах. См. escape и unescape. См. книгу Клиентский JavaScript. Руководство.
  • Изменения в объекте Array.
    • Если Вы специфицируете единственный числовой параметр в конструкторе Array, Вы тем самым специфицируете начальный размер массива.
    • Метод push возвращает новый размер массива, а не последний добавленный в массив элемент.
    • Метод splice всегда возвращает массив, содержащий удалённые элементы, даже если удаляется только один элемент.
    • Метод toString объединяет массив и возвращает строку, содержащую все элементы массива, разделённые запятыми, а не строку, представляющую исходный код массива.
    • Свойство length содержит беззнаковое 32-битное целое число, имеющее значение меньше 232.
  • Изменения в объекте Date.
    • Устранена зависимость от платформы, что даёт универсальное поведение на всех платформах.
    • Изменён диапазон дат: от -100,000,000 до 100,000,000 относительно даты 01 января 1970 UTC.
    • Добавлен параметр milliseconds в конструктор Date.
    • Добавлены методы getFullYear, setFullYear, getMilliseconds и setMilliseconds.
    • Добавлены методы getUTCDate, getUTCDay, getUTCFullYear, getUTCHours, getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds, setUTCDate, setUTCFullYear, setUTCHours, setUTCMilliseconds, setUTCMinutes, setUTCMonth, setUTCSeconds и toUTCString.
    • Добавлен параметр в метод setMonth.
    • Добавлены параметры minutes, seconds и milliseconds в метод setHours.
    • Добавлены параметры seconds и milliseconds в метод setMinutes.
    • Добавлен параметр milliseconds в метод setSeconds.
    • Добавлен параметр milliseconds в метод UTC.
    • Не рекомендуются методы getYear, setYear и toGMTString.
  • Изменения в объекте Function.
    • Добавлен метод apply, который позволяет примерять метод одного объекта в контексте другого объекта (вызывающего объекта).
    • Добавлен метод call, который позволяет вызывать (выполнять) метод одного объекта в контексте другого объекта (вызывающего объекта).
    • Не рекомендуется свойство arguments.caller.
  • Изменения в объекте String.
    • Методы charCodeAt и fromCharCode используют значения Unicode, а не ISO-Latin-1.
    • Метод replace поддерживает вложение функций вместо второго аргумента.
  • Новый метод toSource. Метод toSource возвращает строку, представляющую исходный код объекта. См. Array.toSource, Boolean.toSource, Date.toSource, Function.toSource, Number.toSource, Object.toSource, RegExp.toSource и String.toSource.
  • Новые свойства верхнего уровня: Infinity, NaN и undefined. Infinity это числовое значение, представляющее бесконечность. NaN это значение, представляющее Not-A-Number/Не-Число. undefined это значение undefined/неопределённое.
  • Новая функция верхнего уровня isFinite. isFinite вычисляет аргумент, чтобы определить, является ли он конечным числом.
  • Изменения в функции верхнего уровня eval. Нельзя использовать функцию eval неявно, вызывая её по имени, отличному от eval.
  • Новые операции строго равенства: === и !==. Операция === (строго равно) возвращает true, если операнды равны и имеют один тип. Операция !== (строго не равно) возвращает true, если операнды не равны и/или разных типов. См. "Операции Сравнения" и "Использование Операций Равенства".
  • Изменения в операциях == и !=. Использование операций == (равно) и != (не равно) вернулось к тому, что было в JavaScript 1.1. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды в подходящий тип для проведения сравнения. См. "Использование Операций Равенства".
  • Изменения в поведении проверки условия.
    • Вы не должны использовать простые присвоения в условном операторе; например, не специфицируйте условие if(x = y). Предыдущие версии JavaScript конвертировали if(x = y) в (x == y), но 1.3 генерирует ошибку времени выполнения. См. "if...else".
    • Любой объект, значение которого не undefined или null, включая объект Boolean, значение которого false, вычисляется в true при передаче в условный оператор. См. "Boolean".
  • Консоль JavaScript. Консоль JavaScript это окно, выводящее все сообщения об ошибках JavaScript. Когда возникает ошибка JavaScript, сообщение об этом направляется на консоль JavaScript, и никакие диалоги не выводятся. См. Клиентский JavaScript. Руководство.

Что Вы уже должны знать

Предполагается, что Вы имеете следующие базовые знания:

  • Общее понятие об Internet и World Wide Web (WWW).
  • Хорошие рабочие знания языка HyperText Markup Language (HTML).

Некоторый опыт программирования на таких языках как C или Visual Basic пригодится, но не обязателен.

Версии JavaScript

Каждая версия Navigator'а поддерживает свою версию JavaScript. Для того чтобы помочь Вам в создании скриптов, способных работать в различных версиях Navigator'а, в этом учебнике имеется список версий JavaScript в каждой статье.

В таблице дан список версий JavaScript, поддерживаемых различными версиями Navigator'а. Navigator версий до 2.0 не поддерживает JavaScript.

Таблица 1 Версии JavaScript и Navigator'а
Версия JavaScript | Версия Navigator'а
JavaScript 1.0 | Navigator 2.0
JavaScript 1.1 | Navigator 3.0
JavaScript 1.2 | Navigator 4.0-4.05
JavaScript 1.3 | Navigator 4.06-4.5

Каждая версия сервера Netscape Enterprise Server также поддерживает свою версию JavaScript. Для того чтобы помочь Вам в создании скриптов, совместимых с различными версиями сервера Enterprise Server, в этом учебнике используются сокращения версий сервера, на котором реализована та или иная возможность.

Таблица 2 Версии JavaScript и Netscape Enterprise Server
Аббревиатура | Версия Enterpriser Server
NES 2.0 | Netscape Enterprise Server 2.0
NES 3.0 | Netscape Enterprise Server 3.0

Где найти информацию о JavaScript

Документация по клиентскому JavaScript состоит из следующих книг:

  • Клиентский JavaScript. Руководство. Предоставляет информацию о языке JavaScript и его объектах. Эта книга содержит информацию о ядре языка и клиентском JavaScript.
  • Клиентский JavaScript. Справочник. (данная книга) предоставляет справочный материал о языке JavaScript, включая ядро и клиентский JavaScript.

Если Вы новичок в JavaScript, начните с книги Клиентский JavaScript. Руководство. После получения основ вы можете перейти к книге Клиентский JavaScript. Справочник. для получения более детальной информации об объектах и операторах.

Если Вы разрабатываете клиент-серверное приложение JavaScript, используйте материал книг о клиентском JavaScript. Затем используйте книги Серверный JavaScript. Руководство. и Server-Side JavaScript Reference для помощи в разработке приложений серверного JavaScript.

DevEdge, онлайновый ресурс фирмы Netscape для разработчиков, содержит информацию, которая пригодится при работе с JavaScript. особый интерес представляют следующие URL:

  • http://developer.netscape.com/docs/manuals/javascript.html

    • Страница JavaScript в библиотеке DevEdge, содержит информацию о JavaScript. Эта страница часто изменяется. Вы должны периодически посещать её для получения обновлённой информации.
  • http://developer.netscape.com/docs/manuals/

    • Библиотека DevEdge содержит документацию по продуктам и технологиям Netscape.
  • http://developer.netscape.com

    • Домашняя страница DevEdge - доступ ко всем ресурсам DevEdge.

Соглашения по документам

Периодически в этой книге говорится о пользовательском интерфейсе Navigator'а. В этих случаях речь идёт о пользовательском интерфейсе Navigator 4.5. Этот интерфейс может иметь отличия в более ранних версиях браузера.

Приложения JavaScript работают на многих Операционных системах (ОС); информация этой книги применима для всех версий. Пути файлов и директорий даны в формате Windows (с обратной наклонной чертой (\) для разделения директорий). Для Unix Пути будут те же, только нужно использовать слэши (/) вместо backslashes.

В книге используются uniform resource locators (URLs) следующей формы:

http://server.domain/path/file.html

В этих URL server это имя сервера, на котором работает Ваше приложение, например, research1 или www; domain это имя домена Internet, например, netscape.com или uiuc.edu; path это структура директорий на сервере; file.html это имя файла. В целом, элементы URL, вводимые шрифтом italic, являются заглушками, а элементы нормальным шрифтом monospace являются литералами. Если Ваш сервер имеет Secure Sockets Layer (SSL), Вы используете в URL https вместо http.

В этой книге используются следующие соглашения по шрифтам:

  • Шрифт monospace/моноширинный используется в примерах и листингах кода, API и элементах языка (таких как имена свойств и методов), именах файлов, пути, именах директорий, тэгах HTML и любом тексте, который должен выводиться на экран. (Monospace italic font используется для заглушек в коде.)
  • Шрифт Italic используется для заголовков, выделения текста, переменных и заглушек и слов, используемых в литеральном смысле.
  • Жирный шрифт используется в словарных терминах и заголовках.


Объекты. Справочник.

Глава 1 Объекты, Методы и Свойства

В главе рассматриваются все объекты JavaScript и их методы и свойства. Это алфавитный указатель основных возможностей JavaScript.

Глава 2 Свойства и Функции Верхнего Уровня

В этой главе рассматриваются все свойства и функции JavaScript, не ассоциированные с каким-либо объектом. В спецификации ECMA эти свойства и функции называются свойствами и методами объекта global.

Глава 3 Обработчики Событий

В этой главе рассматриваются обработчики событий.


Объекты, Методы и Свойства

1. Объекты, Методы и Свойства

§ ← → У

В этой главе задокументированы все объекты JavaScript и их методы и свойства. Это алфавитный указатель на главные возможности JavaScript.

Anchor
Applet
Area
Array
Boolean
Button
Checkbox
Date
document
event
FileUpload
Form
Frame
Function
Hidden
History
Image
java
JavaArray
JavaClass
JavaObject
JavaPackage
Layer
Link
Location
Math
MimeType
navigator
netscape
Number
Object
Option
Packages
Password
Plugin
Radio
RegExp
Reset
screen
Select
String
Style
Submit
sun
Text
Textarea
window

Справочник организован так:

  • Полные описания для каждого объекта даны в алфавитном порядке; свойства и функции, не ассоциированные с объектами, даны в Главе 2, "Свойства и Функции Верхнего Уровня"
    • .
    Каждая статья содержит полное описание объекта. В таблицах, включённых а описание каждого объекта, даётся резюме по методам и свойствам объекта.
  • Полные описания свойств и методов объекта даны в алфавитном порядке после описания объекта.

    • Эти статьи дают полное описание каждого метода или свойства и содержат перекрёстные ссылки.


ancor

Anchor (Якорь)

§ ← → У

Место в документе, являющееся целью для гиперссылки.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.2: добавлены свойства name, text, x и y

Создание

Этот объект создаётся в HTML тэгом A или через вызов метода String.anchor. Машина времени выполнения JavaScript создаёт объекты Anchor, соответствующие каждому тэгу A с атрибутом NAME. Эти объекты помещаются в массив-свойство document.anchors. Вы можете получить доступ к объекту Anchor по индексу в этом массиве.

Чтобы определить anchor методом String.anchor:

theString.anchor(nameAttribute)

где:

theString | String-объект.
nameAttribute | Строка.

При определении anchor тэгом A используйте стандартный синтаксис HTML. Если Вы специфицируете атрибут NAME, Вы можете использовать значение этого атрибута при индексировании в массиве anchors.

Описание

Если объект Anchor является также объектом Link, он имеет вхождения в обоих массивах: anchors и links.

Свойства. Резюме.

Свойство

Описание

name

Имя якоря.

text

Текст якоря.

x

Позиция левого края якоря по оси х в пикселах относительно левого края документа.

y

Позиция верхнего края якоря по оси у в пикселах относительно верхнего края документа.

Методы. Резюме.

Этот объект наследует методы watch и unwatch из Object.

Примеры

Пример 1. Якорь/anchor.

В этом примере определяется anchor для текста "Welcome to JavaScript":

<A NAME="javascript_intro"><H2>Welcome to JavaScript</H2></A>

Если вышеприведённый anchor находится в файле intro.html, ссылка в другом файле может определять переход на этот anchor таким образом:

<A href="./?f=intro.html#javascript_intro">Introduction</A>
Пример 2. Массив anchors.

Открываются два окна. Первое окно содержит серию кнопок, которые устанавливают location.hash во втором окне на определённый anchor. Во втором окне определены 4 якоря: "0", "1", "2" и "3." (Имена якорей в документе, следовательно, 0, 1, 2, ... (document.anchors.length-1)). Когда в первом окне нажимается кнопка, обработчик события onClick проверяет существование anchor, перед тем как установить в window2.location.hash имя специфицированного якоря.

link1.html, в котором определены первое окно и кнопки, содержит следующий код:

<HTML>
<HEAD>
<TITLE>Links and Anchors:
Window 1</TITLE>
</HEAD>
<BODY>
<SCRIPT>
window2=open("link2.html","secondLinkWindow",
   "scrollbars=yes,width=250, height=400")

function linkToWindow(num) {
   if (window2.document.anchors.length > num)

      window2.location.hash=num
   else

      alert("Anchor does not exist!")
}
</SCRIPT>
<B>Links and Anchors</B>
<FORM>

<P>Click a button to display that anchor in window #2

<P><INPUT TYPE="button" VALUE="0" NAME="link0_button"

   onClick="linkToWindow(this.value)">

<INPUT TYPE="button" VALUE="1" NAME="link0_button"

   onClick="linkToWindow(this.value)">

<INPUT TYPE="button" VALUE="2" NAME="link0_button"

   onClick="linkToWindow(this.value)">

<INPUT TYPE="button" VALUE="3" NAME="link0_button"

   onClick="linkToWindow(this.value)">

<INPUT TYPE="button" VALUE="4" NAME="link0_button"

   onClick="linkToWindow(this.value)">

</FORM>
</BODY>
</HTML>

link2.html, где находятся якоря, содержит следующий код:

<HTML>
<HEAD>

<TITLE>Links and Anchors: Window 2</TITLE>
</HEAD>
<BODY>

<A NAME="0"><B>Some numbers</B> (Anchor 0)</A>
<UL><LI>one

<LI>two
<LI>three
<LI>four</UL>

<P><A NAME="1"><B>Some colors</B> (Anchor 1)</A>
<UL><LI>red

<LI>orange
<LI>yellow
<LI>green</UL>

<P><A NAME="2"><B>Some music types</B> (Anchor 2)</A>

<UL><LI>R&B
<LI>Jazz
<LI>Soul
<LI>Reggae

<LI>Rock</UL>
<P><A NAME="3"><B>Some countries</B> (Anchor 3)</A>

<UL><LI>Afghanistan
<LI>Brazil
<LI>Canada
<LI>Finland

<LI>India</UL>
</BODY>
</HTML>

См. также

Link

name

Строка - имя якоря.

Свойство из | Anchor
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Свойство name содержит значение атрибута NAME.

Пример

Выводится имя первого anchor в документе:

alert("The first anchor is " + document.anchors[0].name)

text

Строка - текст якоря.

Свойство из | Anchor
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Свойство text специфицирует строку, которая выводится в тэге A.

Пример

Выводится текст первого якоря документа:

alert("The text of the first anchor is " + document.anchors[0].text)

x

Позиция по горизонтали левого края якоря по оси х в пикселах относительно левого края документа.

Свойство из | Anchor
Только для чтения |
Реализовано в | JavaScript 1.2

См. также

Anchor.y

y

Позиция по вертикали верхнего края якоря по оси у в пикселах относительно верхнего края документа.

Свойство из | Anchor
Только для чтения |
Реализовано в | JavaScript 1.2

См. также

Anchor.x
§ ← → У


Applet

Вставляет Java-аплет на web-страницу.

Клиентский объект |
Реализован в | JavaScript 1.1

Создание

Тэг HTML APPLET. Машина выполнения JavaScript создаёт объекты Applet, соответствующие каждому аплету в Вашем документе. Эти объекты помещаются в массив-свойство document.applets. Вы получаете доступ к Applet-объекту по индексу в этом массиве.

Чтобы определить аплет, используется стандартный синтаксис HTML. Если Вы специфицируете атрибут NAME, Вы можете использовать значение этого атрибута при индексировании в массиве applets. Чтобы обратиться к аплету в JavaScript, Вы обязаны предоставить в его определении атрибут MAYSCRIPT.

Описание

Автор HTML-страницы обязан разрешить аплету доступ к JavaScript путём специфицирования атрибута MAYSCRIPT в тэге APPLET. Это предотвращает доступ аплета к JavaScript на странице без ведома автора страницы. Например, чтобы разрешить аплету musicPicker.class доступ к JavaScript на Вашей странице, специфицируйте:

<APPLET CODE="musicPicker.class" WIDTH=200 HEIGHT=35

   NAME="musicApp" MAYSCRIPT>

Доступ к JavaScript при отсутствии специфицированного атрибута MAYSCRIPT вызывает исключение.

Информацию LiveConnect об использовании аплетов см. дополнительно в книге "Клиентский JavaScript. Руководство по Использованию".

Свойства. Резюме.

Объект Applet наследует все public-свойства Java-аплета.

Методы. Резюме.

Объект Applet наследует все public-методы Java-аплета.

Примеры

Запускается аплет с именем musicApp:

<APPLET CODE="musicSelect.class" WIDTH=200 HEIGHT=35

   NAME="musicApp" MAYSCRIPT>
</APPLET>

Дополнительные примеры смотри в информации LiveConnect в книге "Клиентский JavaScript. Руководство по Использованию".

См. также

MimeType, Plugin
§ ← → У


Area

§ ← → У

Определяет область изображения в карте изображений/image map. Если пользователь щёлкает на области, происходит загрузка ресурса, на который указывает гипертекстовая ссылка области, в целевое окно. Area -объекты имеют тип объекта Link.

Клиентский объект |
Реализован в | JavaScript 1.1

Информацию об объектах Area см. в Link.


Array

Даёт возможность работать с массивами.

Объект ядра
Реализован в | JavaScript 1.1, NES 2.0 JavaScript 1.3: добавлен метод toSource; изменено свойство length; изменены методы push и splice.
Версия ECMA | ECMA-262

Создание

Конструктор Array - объекта:

new Array(arrayLength)
new Array(element0, element1, ..., elementN)
Литерал массива:

[element0, element1, ..., elementN]
JavaScript 1.2, если специфицирован LANGUAGE="JavaScript1.2" в тэге<SCRIPT>:
new Array(element0, element1, ..., elementN)
JavaScript 1.2, если LANGUAGE="JavaScript1.2" не специфицирован в тэге <SCRIPT> :
new Array([arrayLength])
new Array([element0[, element1[, ..., elementN]]])
JavaScript 1.1:
new Array([arrayLength])
new Array([element0[, element1[, ..., elementN]]])

Параметры

arrayLength

Начальный размер массива. Вы можете получить доступ к этому значению через свойство length. Если специфицировано не-число, создаётся массив размером length 1 с первым элементом, имеющим специфицированное значение.
Максимальный допустимый размер массива 4,294,967,295.

elementN

Список значений элементов массива. Если специфицирована эта форма, массив инициализируется специфицированными значениями как элементами массива, а свойство length содержит количество аргументов.

Описание

Массив является упорядоченным набором значений, ассоциированных с одним именем переменной.

В этом примере создаётся Array -объект с литералом массива; массив coffees состоит из трёх элементов и имеет размер "три":

coffees = ["French Roast", "Columbian", "Kona"]

Индексирование массива

Массив индексируется порядковыми числами. Например, у Вас имеется массив:

myArray = new Array("Wind","Rain","Fire")

Вы обращаетесь к первому элементу массива myArray[0], а ко второму элементу - myArray[1].

Специфицирование единственного параметра

Если Вы специфицируете одиночный числовой параметр в Array -конструкторе, Вы задаёте начальный размер массива. Следующий код создаёт массив из 5 элементов:

billingMethod = new Array(5)

Поведение Array -конструктора зависит от того, является ли единственный параметр числом:

  • Если специфицировано число, конструктор конвертирует его в беззнаковое 32-битное целое и генерирует массив со свойством length (размер массива), содержащим это целое число. Массив сначала не содержит элементов, хотя и может иметь ненулевой размер.
  • Если специфицировано не-число, создаётся массив размером 1 с первым элементом, имеющим специфицированное значение.

Этот код создаёт массив размером 25, затем присваивает значения первым трём элементам:

musicTypes = new Array(25)
musicTypes[0] = "R&B"
musicTypes[1] = "Blues"
musicTypes[2] = "Jazz"

Вы можете создать плотный массив из двух или более элементов, начиная с индекса 0, если Вы определяете начальные значения для всех элементов. Плотным является такой массив, в котором все элементы имеют значения.
Следующий код создаёт плотный массив из 3 элементов:

myArray = new Array("Hello", myVar, 3.14159)

Косвенное увеличение размера массива

Размер массива увеличивается, если Вы присваиваете значение элементу с большим индексом, чем в текущем размере массива. Следующий код создаёт массив размером 0, затем присваивает значение элементу 99. Это изменяет размер массива до 100.

colors = new Array()
colors[99] = "midnightblue"

Создание массива с использованием результата совпадения

Результат совпадения регулярного выражения и строки может образовать массив. Этот массив имеет свойства и элементы, предоставляющие информацию о совпадении. Массив это return-значение методов RegExp.exec, String.match и String.replace. Чтобы лучше разобраться в этих свойствах и элементах, посмотрим на следующий пример и на таблицу:

<SCRIPT LANGUAGE="JavaScript1.2">

//Совпадает с одной d, с последующей одной или более b, с последующей одной d
//Запоминаются совпавшие b и последующая d
//Регистр игнорируется
myRe=/d(b+)(d)/i;

myArray = myRe.exec("cdbBdbsbz");
</SCRIPT>

Свойства и элементы, возвращаемые этим совпадением:

Свойство/Элемент Описание Пример
input

Свойство только для чтения, отражает строку-оригинал, относительно которой сравнивается регулярное выражение.

cdbBdbsbz

index

Свойство только для чтения, которое является индексом с базой 0 совпадения в строке.

1

[0]

Элемент только для чтения, который специфицирует последние совпавшие символы.

dbBd

[1], ...[n]

Элемент только для чтения, который специфицирует совпадения закавыченных подстрок, если включён в регулярное выражение. Количество закавыченных подстрок не ограничивается.

[1]=bB
[2]=d

Обратная Совместимость

JavaScript 1.2

Если Вы специфицируете единственный параметр в конструкторе Array, поведение будет зависеть того, специфицирован ли параметр LANGUAGE="JavaScript1.2" в тэге <SCRIPT>:

  • Если специфицирован LANGUAGE="JavaScript1.2" в тэге <SCRIPT>, возвращается массив из одного элемента. Например, new Array(5) создаёт одноэлементный массив с первым элементом 5. Конструктор с единственным параметром работает так же, как и конструктор с несколькими параметрами. Вы не можете специфицировать свойство length объекта Array, используя конструктор с единственным параметром.
  • Если LANGUAGE="JavaScript1.2" в тэге <SCRIPT> не специфицирован, Вы указываете начальный размер массива, как и в других версиях JavaScript.
JavaScript 1.1 и ранее

Если Вы специфицируете единственный параметр в конструкторе Array, Вы специфицируете начальный размер массива. Следующий код создаёт массив из пяти элементов:

billingMethod = new Array(5)
JavaScript 1.0

Вы обязаны индексировать массив по порядковому номеру; например, myArray[0].

Свойства. Резюме.

Свойство Описание
constructor

Специфицирует функцию, создающую прототип объекта.

index

Для массива, созданного в результате совпадения с регулярным выражением, это индекс с базой 0 совпадения в строке.

input

Для массива, созданного в результате совпадения с регулярным выражением, отражает строку-оригинал, относительно которой выполняется подстановка регулярного выражения.

length

Количество элементов массива.

prototype

Позволяет добавлять свойства ко всем объектам.

Методы. Резюме.

Метод Описание
concat

Объединяет два массива и возвращает новый массив.

join

Объединяет все элементы массива в строку.

pop

Удаляет последний элемент массива и возвращает этот элемент.

push

Добавляет один или более элементов в конец массива и возвращает новый размер массива.

reverse

Перемещает/разворачивает элементы массива: первый элемент становится последним, а последний - первым.

shift

Удаляет первый элемент массива и возвращает этот элемент.

slice

Извлекает раздел массива и возвращает новый массив.

splice

Добавляет и/или удаляет элементы массива.

sort

Сортирует элементы массива.

toSource

Возвращает литерал массива, представляющий специфицированный массив; Вы можете использовать это значение для создания нового массива. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую массив и его элементы. Переопределяет метод Object.toString.

unshift

Добавляет один или более элементов в начало массива и возвращает новый размер массива.

valueOf

Возвращает примитивное значение массива. Переопределяет метод Object.valueOf.

Кроме того, этот объект наследует методы watch и unwatch из Object.

Примеры

Пример 1.

Следующий пример создаёт массив msgArray с размером 0, затем присваивает значения элементам msgArray[0] и msgArray[99], изменяя размер массива на 100.

msgArray = new Array()
msgArray[0] = "Hello"
msgArray[99] = "world"

// Следующий оператор является true,
// поскольку был определён элемент msgArray[99].

if (msgArray.length == 100)

   myVar="The length is 100."

См. также примеры для onError.

Пример 2.

Двухмерный массив. Результаты присваиваются переменной myVar.

myVar="Multidimensional array test; "
a = new Array(4)
for (i=0; i < 4; i++) {

   a[i] = new Array(4)
   for (j=0; j < 4; j++) {

      a[i][j] = "["+i+","+j+"]"
   }
}

for (i=0; i < 4; i++) {
   str = "Row "+i+":"
   for (j=0;
j < 4; j++) {
      str += a[i][j]
   }

   myVar += str +"; "
}

Этот пример присваивает переменной myVar следующие строки (разрывы строк сделаны для лучшей читаемости):

Multidimensional array test;
Row 0:[0,0][0,1][0,2][0,3];
Row 1:[1,0][1,1][1,2][1,3];

Row 2:[2,0][2,1][2,2][2,3];
Row 3:[3,0][3,1][3,2][3,3];

См. также

Image

concat

Объединяет два массива и возвращает новый массив.

Метод из | Array
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

concat(arrayName2, arrayName3, ..., arrayNameN)

Параметры

arrayName2...
arrayNameN

Массивы, объединяемые в данный массив.

Описание

concat не изменяет начальные массивы, но возвращает копию "на один уровень глубже", содержащую копии элементов, скомбинированные из массивов-оригиналов. Элементы массивов-оригиналов копируются в новый массив таким образом:

  • Ссылки на объекты (а не реальные объекты): concat копирует ссылки на объекты в новый массив. И массив-оригинал, и новый массив ссылаются на один и тот же объект. Если изменяется оригинальный объект, эти изменения отражаются и в новом массиве, и в массиве-оригинале.
  • Строки и числа (не объекты String и Number): concat копирует строки и числа в новый массив. Изменение строки или числа одного массива не влияет на другие массивы.

Если в любой массив добавляется новый элемент, другой массив остаётся без изменений.

Следующий код объединяет два массива:

alpha=new Array("a","b","c")
numeric=new Array(1,2,3)
alphaNumeric=alpha.concat(numeric) // новый массив ["a","b","c",1,2,3]

Следующий код объединяет три массива:

num1=[1,2,3]
num2=[4,5,6]
num3=[7,8,9]
nums=num1.concat(num2,num3) //создаёт массив [1,2,3,4,5,6,7,8,9]

constructor

Специфицирует функцию, создающую прототип объекта. Обратите внимание, что значением этого свойства является ссылка на функцию, а не строка, содержащая имя функции.

Свойство из | Array
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

См. Object.constructor.

index

Для массива, созданного в результате совпадения с регулярным выражением, индекс с базой 0 совпадения в строке.

Свойство из | Array
Static
Реализовано в | JavaScript 1.2, NES 3.0

input

Для массива, созданного в результате совпадения с регулярным выражением, отражает строку-оригинал, относительно которой выполняется совпадение регулярного выражения.

Свойство из | Array
Static
Реализовано в | JavaScript 1.2, NES 3.0

join

Объединяет все элементы массива в строку.

Метод из | Array
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

join(separator)

Параметр

separator

Строка, разделяющая элементы массива. Сепаратор конвертируется при необходимости в строку. Если отсутствует, элементы массива разделяются запятой.

Описание

Результаты конвертации всех элементов массива в строки объединяются в одну строку.

Примеры

Следующий пример создаёт массив a из трёх элементов, затем объединяет их в массив три раза: используя сепаратор по умолчанию, запятую и пробел, а затем знак +.

a = new Array("Wind","Rain","Fire")
myVar1=a.join()      // присваивает "Wind,Rain,Fire" переменной myVar1
myVar2=a.join(", ")  // присваивает "Wind, Rain, Fire" переменной myVar1
myVar3=a.join(" + ") // присваивает "Wind + Rain + Fire" переменной myVar1

См. также

Array.reverse

length

Беззнаковое 32-битное целое число, специфицирующее количество элементов массива.

Свойство из | Array
Реализовано в | JavaScript 1.1, NES 2.0 JavaScript 1.3: length является беззнаковым 32-битным целым числом со значением меньше 232.
Версия ECMA | ECMA-262

Описание

Значением свойства length является целое положительное число со значением, меньшим чем 2 в степени 32 (232).

Вы можете установить свойство length в любое время для усечения массива. Если Вы увеличиваете массив, изменяя его свойство length, реальное количество элементов не увеличивается; например, если Вы устанавливаете length в 3, когда оно в данный момент равно 2, массив будет продолжать содержать только два элемента.

Примеры

В следующем примере функция getChoice использует свойство length для итерации по элементам массива musicType. musicType это элемент select на форме musicForm.

function getChoice() {
   for (var i = 0; i < document.musicForm.musicType.length;
i++) {
      if (document.musicForm.musicType.options[i].selected == true)
{
         return
document.musicForm.musicType.options[i].text
      }
   }
}

В следующем примере массив statesUS укорачивается до размера 50, если текущий его размер больше 50.

if (statesUS.length > 50) {
   statesUS.length=50
}

pop

Удаляет последний элемент из массива и возвращает этот элемент. Этот метод изменяет размер массива.

Метод из | Array
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

pop()

Параметры

Отсутствуют.

Пример

В следующем примере код создаёт массив myFish из четырёх элементов, затем удаляет последний элемент.

myFish = ["angel", "clown", "mandarin", "surgeon"];
popped = myFish.pop();

См. также

push, shift, unshift

prototype

Предоставляет прототип для данного класса. Вы можете использовать prototype для добавления свойств или методов во все экземпляры класса. О прототипах см. Function.prototype.

Свойство из | Array
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

push

Добавляет один или более элементов в конец массива и возвращает новый размер массива. Этот метод изменяет размер массива.

Метод из | Array
Реализован в | JavaScript 1.2, NES 3.0 JavaScript 1.3: push возвращает новый размер массива, а не последний элемент, добавленный в массив.

Синтаксис

push(element1, ..., elementN)

Параметры

element1, ...,
elementN

Элементы, добавляемые в конец массива.

Описание

Поведение метода push аналогично действию функции push в Perl 4. Обратите внимание, что это поведение отличается в Perl 5.

Обратная Совместимость

JavaScript 1.2. Метод push возвращает последний элемент, добавленный в массив.

Пример

Следующий код создаёт массив myFish из двух элементов, затем добавляет в него два элемента. После выполнения кода pushed содержит 4. (В JavaScript 1.2 pushed содержит "lion" после выполнения кода.)

myFish = ["angel", "clown"];
pushed = myFish.push("drum", "lion");

См. также

pop, shift, unshift

reverse

Разворачивает элементы массива: первый элемент становится последним, а последний - первым.

Метод из | Array
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

reverse()

Параметры

Отсутствуют.

Описание

Метод reverse разворачивает элементы вызывающего Array-объекта.

Примеры

В следующем примере создаётся массив myArray из трёх элементов, затем массив разворачивается.

myArray = new Array("one", "two", "three")
myArray.reverse()

Код изменяет массив myArray таким образом:

  • myArray[0] становится "three"
  • myArray[1] становится "two"
  • myArray[2] становится "one"

См. также

Array.join, Array.sort

shift

Удаляет первый элемент массива и возвращает этот элемент. Этот метод изменяет размер массива.

Метод из | Array
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

shift()

Параметры

Отсутствуют.

Примеры

Следующий код выводит массив myFish до и после удаления первого элемента. Он также отображает удалённый элемент:

myFish = ["angel", "clown", "mandarin", "surgeon"];
document.writeln("myFish before: " + myFish);

shifted = myFish.shift();
document.writeln("myFish after: " + myFish);

document.writeln("Removed this element: " + shifted);

В результате получится:

myFish before: ["angel", "clown", "mandarin", "surgeon"]
myFish after: ["clown", "mandarin", "surgeon"]
Removed this element: angel

См. также

pop, push, unshift

slice

Извлекает раздел массива и возвращает новый массив.

Метод из | Array
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

slice(begin[,end])

Параметры

begin

Индекс с базой 0, начиная с которого выполняется извлечение.

end

Индекс с базой 0, с которого извлечение прекращается:

  • slice извлекает элементы до end, не включительно. slice(1,4) извлекает элементы со второго по четвёртый (элементы с индексами 1, 2 и 3)
  • Если задан отрицательный индекс, end указывает смещение от конца массива. slice(2,-1) извлекает элементы с третьего и до последнего.
  • Если end отсутствует, slice извлекает до конца последовательности.

Описание

slice не изменяет массив-оригинал, а возвращает новую копию "на один уровень глубже", содержащую копии элементов, извлечённых из массива-оригинала. Элементы массива-оригинала копируются в новый массив так:

  • Для ссылок на объекты (а не для реальных объектов) slice копирует ссылки на объект в новый массив. Новый и оригинальный массивы ссылаются на один и тот же объект. Если объект, на который ссылаются, изменяется, эти изменения появляются в обоих массивах.
  • Для строк и чисел (не объектов String и Number) slice копирует строки и числа в новый массив. Изменение строки или числа в одном массиве не влияет на другой массив.

Если в любой массив добавляется новый элемент, другой массив не изменяется.

Пример

В следующем примере slice создаёт новый массив newCar из myCar. Оба массива содержат ссылку на объект myHonda. Если цвет/color объекта myHonda изменяется на purple, это изменение отражается в обоих массивах.

<SCRIPT LANGUAGE="JavaScript1.2">
//С использованием slice создаётся newCar из myCar.

myHonda = {color:"red",wheels:4,engine:{cylinders:4,size:2.2}}

myCar = [myHonda, 2, "cherry condition", "purchased 1997"]
newCar = myCar.slice(0,2)
//Записываются значения myCar, newCar и цвет для myHonda,
//на который ссылаются из обоих массивов.

document.write("myCar = " + myCar + "<BR>")

document.write("newCar = " + newCar + "<BR>")

document.write("myCar[0].color = " + myCar[0].color + "<BR>")

document.write("newCar[0].color = " + newCar[0].color + "<BR><BR>")
//Изменяется цвет myHonda.

myHonda.color = "purple"

document.write("The new color of my Honda is " + myHonda.color + "<BR><BR>")
//Записывается цвет myHonda, на который ссылаются из обоих массивов.

document.write("myCar[0].color = " + myCar[0].color + "<BR>")

document.write("newCar[0].color = " + newCar[0].color + "<BR>")
</SCRIPT>

Этот скрипт запишет:

myCar = [{color:"red", wheels:4, engine:{cylinders:4, size:2.2}}, 2,

   "cherry condition", "purchased 1997"]
newCar = [{color:"red", wheels:4,
engine:{cylinders:4, size:2.2}}, 2]
myCar[0].color = red newCar[0].color = red
The new color of
my Honda is purple
myCar[0].color = purple
newCar[0].color = purple

sort

Сортирует элементы массива.

Метод из | Array
Реализован в | JavaScript 1.1, NES 2.0 JavaScript 1.2: поведение модифицировано.
Версия ECMA | ECMA-262

Синтаксис

sort(compareFunction)

Параметры

compareFunction

Специфицирует функцию, определяющую порядок сортировки. Если отсутствует, массив сортируется лексикографически (в словарном порядке) в соответствии с конвертацией в строку каждого элемента.

Описание

Если compareFunction не предоставляется, элементы сортируются путём конвертации их в строки и сравнения строк в лексикографическом порядке ("словарном порядке" или "порядке телефонной книги", а не в числовом порядке). Например, "80" в словарном порядке идёт перед "9", а в числовом 9 идёт перед 80.

Если параметр compareFunction предоставлен, элементы массива сортируются в соответствии с return-значением сравнивающей функции. Если a и b являются сравниваемыми элементами, то:

  • Если compareFunction(a, b) меньше 0, b сортируется с меньшим индексом, чем a.
  • Если compareFunction(a, b) возвращает 0, a и b не изменяют своего положения друг относительно друга, но сортируются относительно всех других элементов.
  • Если compareFunction(a, b) больше 0, b сортируется с большим индексом, чем a.

Итак, функция сравнения имеет следующую форму:

function compare(a, b) {
   if (a меньше b по некоторому критерию сортировки)
      return -1
   if (a больше b по некоторому критерию сортировки)
      return 1
   // иначе a обязано быть равно b
   return 0
}

Для сравнения чисел, а не строк, функция сравнения может просто вычитать b из a:

function compareNumbers(a, b) {
   return a - b
}

JavaScript использует стабильную сортировку: относительное расположение a и b не меняется, если a и b равны. Если до сортировки индекс a был меньше, чем индекс b, он будет меньше и после сортировки вне зависимости от того, как a и b будут перемещены в ходе сортировки.

Поведение метода sort различается в версиях JavaScript 1.1 и JavaScript 1.2.

В JavaScript 1.1, на некоторых платформах, метод sort не работает. Этот метод работает на всех платформах в JavaScript 1.2.

В JavaScript 1.2 этот метод больше не конвертирует undefined-элементы в null; вместо этого он сортирует их в конец массива. Например, у вас имеется такой скрипт:

<SCRIPT>
a = new Array();
a[0] = "Ant";
a[5] = "Zebra";
function writeArray(x) {
   for (i = 0; i < x.length; i++)
{
      document.write(x[i]);
      if
(i < x.length-1) document.write(", ");
   }
}
writeArray(a);
a.sort();
document.write("<BR><BR>");

writeArray(a);
</SCRIPT>

В JavaScript 1.1 будет выведено:

ant, null, null, null, null, zebra
ant, null, null, null, null, zebra

В JavaScript 1.2 будет выведено:

ant, undefined, undefined, undefined, undefined, zebra
ant, zebra,
undefined, undefined, undefined, undefined

Пример

Следующий пример создаёт 4 массива и отображает массив-оригинал, а затем - отсортированные массивы. Числовые массивы сортируются сначала без, затем - с использованием функции сравнения.

<SCRIPT>
stringArray = new Array("Blue","Humpback","Beluga")

numericStringArray = new Array("80","9","700")
numberArray = new Array(40,1,5,200)

mixedNumericArray = new Array("80","9","700",40,1,5,200)
function compareNumbers(a, b) {
   return a - b
}
document.write("<B>stringArray:</B> " + stringArray.join()
+"<BR>")
document.write("<B>Sorted:</B> " + stringArray.sort() +"<P>")
document.write("<B>numberArray:</B> " + numberArray.join()
+"<BR>")
document.write("<B>Sorted without a compare function:</B> "
+ numberArray.sort() +"<BR>")
document.write("<B>Sorted with compareNumbers:</B> "
+ numberArray.sort(compareNumbers) +"<P>")
document.write("<B>numericStringArray:</B> "
+ numericStringArray.join() +"<BR>")
document.write("<B>Sorted without a compare
function:</B> " + numericStringArray.sort() +"<BR>")
document.write("<B>Sorted
with compareNumbers:</B> " + numericStringArray.sort(compareNumbers) +"<P>")
document.write("<B>mixedNumericArray:</B> "
+ mixedNumericArray.join() +"<BR>")
document.write("<B>Sorted without a compare
function:</B> " + mixedNumericArray.sort() +"<BR>")
document.write("<B>Sorted with
compareNumbers:</B> " + mixedNumericArray.sort(compareNumbers) +"<BR>")
</SCRIPT>

На выводе будет получено следующее. Как видно ввода, если функция сравнения используется, числа сортируются корректно, если они являются числами или строками из цифр.

stringArray: Blue,Humpback,Beluga
Sorted: Beluga,Blue,Humpback
numberArray: 40,1,5,200
Sorted without a compare function: 1,200,40,5

Sorted with compareNumbers: 1,5,40,200
numericStringArray: 80,9,700
Sorted
without a compare function: 700,80,9
Sorted with compareNumbers: 9,80,700
mixedNumericArray: 80,9,700,40,1,5,200
Sorted without a compare
function: 1,200,40,5,700,80,9
Sorted with compareNumbers: 1,5,9,40,80,200,700

См. также

Array.join, Array.reverse

splice

Изменяет содержимое массива, добавляя новые элементы и удаляя старые.

Метод из | Array
Реализован в | JavaScript 1.2, NES 3.0 JavaScript 1.3: возвращает массив, содержащий удалённые элементы.

Синтаксис

splice(index, howMany, [element1][, ..., elementN])

Параметры

index

Индекс начала изменения массива.

howMany

Целое число, обозначающее количество удаляемых элементов старого массива. Если howMany равно 0, элементы не удаляются. В это случае Вы должны специфицировать как минимум один новый элемент.

element1, ...,
elementN

Элементы, добавляемые к массиву. Если Вы не специфицируете элементы, splice просто удаляет элементы из массива.

Описание

Если Вы специфицируете разные количества удаляемых и вставляемых элементов, массив будет иметь по окончании вызова другой размер.

Метод splice возвращает массив, содержащий удалённые элементы. Если удаляется только один элемент, возвращается массив, состоящий из одного элемента.

Обратная Совместимость

JavaScript 1.2. Метод splice возвращает удаляемый элемент, если удаляется только один элемент (параметр howMany равен 1); иначе метод возвращает массив, содержащий удалённые элементы.

Пример

Следующий скрипт иллюстрирует использование splice:

<SCRIPT LANGUAGE="JavaScript1.2">
myFish = ["angel", "clown", "mandarin", "surgeon"];

document.writeln("myFish: " + myFish + "<BR>");
removed = myFish.splice(2, 0, "drum");
document.writeln("After
adding 1: " + myFish);
document.writeln("removed is: " + removed + "<BR>");
removed = myFish.splice(3, 1)
document.writeln("After removing 1: " + myFish);

document.writeln("removed is: " + removed + "<BR>");
removed = myFish.splice(2, 1, "trumpet")
document.writeln("After
replacing 1: " + myFish);
document.writeln("removed is: " + removed + "<BR>");
removed = myFish.splice(0, 2, "parrot", "anemone", "blue")

document.writeln("After replacing 2: " + myFish);
document.writeln("removed is: " + removed);
</SCRIPT>

Этот скрипт выведет:

myFish: ["angel", "clown", "mandarin", "surgeon"]
After adding 1: ["angel", "clown", "drum", "mandarin", "surgeon"]
removed is: undefined
After removing 1: ["angel", "clown", "drum", "surgeon"]

removed is: mandarin
After replacing 1: ["angel", "clown", "trumpet",
"surgeon"]
removed is: drum
After replacing 2: ["parrot", "anemone",
"blue", "trumpet", "surgeon"]
removed is: ["angel", "clown"]

toSource

Возвращает строку, представляющую исходный код массива.

Метод из | Array
Реализован в | JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Array метод toSource возвращает следующую строку, указывающую, что исходный код недоступен:
       function Array() {

      [native code]
       }
  • Для экземпляров объект Array метод toSource возвращает строку исходного кода.

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде. Вы можете вызвать toSource при отладке для проверки содержимого массива.

Пример

Для проверки исходного кода массива:

alpha = new Array("a", "b", "c")
alpha.toSource() //возвращает ["a", "b", "c"]

См. также

Array.toString

toString

Возвращает строку, представляющую специфицированный массив и его элементы.

Метод из | Array
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toString()

Параметры

Отсутствуют.

Описание

Объект Array переопределяет метод toString из Object. Для Array -объектов метод toString объединяет массив и возвращает одну строку, содержащую все элементы массива, разделённые запятыми. Например, следующий код создаёт массив и использует toString для конвертации массива в строку.

var monthNames = new Array("Jan","Feb","Mar","Apr")

myVar=monthNames.toString() // присваивает "Jan,Feb,Mar,Apr" переменной myVar

JavaScript вызывает метод toString автоматически, когда массив представляется как текстовое значение или когда к массиву обращаются при конкатенации строк.

Обратная Совместимость

JavaScript 1.2.

В JavaScript 1.2 и более ранних версиях метод toString возвращает строку, представляющую исходный код массива. Это то же самое значение, что и возвращаемое методом toSource в JavaScript 1.3 и более поздних версиях.

См. также

Array.toSource

unshift

Добавляет один или более элементов в начало массива и возвращает новый размер массива.

Метод из | Array
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

arrayName.unshift(element1,..., elementN)

Параметры

element1,...,
elementN

Элементы, добавляемые в начало массива.

Пример

Следующий код выводит массив myFish до и после добавления в него элементов.

myFish = ["angel", "clown"];
document.writeln("myFish before: " + myFish);

unshifted = myFish.unshift("drum", "lion");
document.writeln("myFish after: " + myFish);

document.writeln("New length: " + unshifted);

На выводе будет:

myFish before: ["angel", "clown"]
myFish after: ["drum", "lion", "angel",
"clown"]
New length: 4

См. также

pop, push, shift

valueOf

Возвращает примитивное значение массива.

Метод из | Array
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

Объект Array наследует метод valueOf из Object. Метод valueOf объекта Array возвращает примитивное значение массива или примитивное значение его элементов так:

Тип объекта элемента | Тип данных возвращаемого значения
Boolean | Boolean
Number или Date | number
Все прочие | string

Этот метод обычно вызывается в JavaScript внутренне, а не явно в коде.

См. также

Object.valueOf
§ ← → У


Boolean

Объект Boolean это оболочка объекта для Булева значения.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0 JavaScript 1.3: добавлен метод toSource
Версия ECMA | ECMA-262

Создание

КонструкторBoolean:

new Boolean(value)

Параметры

value

Начальное значение объекта Boolean. Значение конвертируется в boolean, если необходимо. Если значение опущено или равно 0, -0, null, false, NaN, undefined, или это пустая строка (""), объект имеет начальное значение false. Все другие значения, включая любой объект или строку "false", создают объект с начальным значением true.

Описание

Не смешивайте примитивные булевы значения true и false со значениями true и false объекта Boolean.

Любой объект со значением undefined или null, включая объект Boolean со значением false, вычисляется в true, когда передаётся в условный оператор. Например, условие следующего оператора if вычисляется в true:

x = new Boolean(false);
if(x) //условие равно true

Это поведение не применяется для булевых примитивов. Например, условие в следующем операторе if вычисляется в false:

x = false;
if(x) //условие - false

Не используйте объект Boolean для конвертации не-булева значения в булево. Вместо этого используйте Boolean как функцию для выполнения этой задачи:

x = Boolean(выражение) //предпочтительно
x = new Boolean(выражение) //не используйте

Если Вы специфицируете любой объект, включая объект Boolean со значением false, как начальное значение объекта Boolean, новый Boolean-объект имеет значение true.

myFalse=new Boolean(false)   //начальное значение - false

g=new Boolean(myFalse)       //начальное значение - true

myString=new String("Hello") //строковой объект
s=new Boolean(myString)      //начальное значение - true

В JavaScript 1.3 и позднее не используйте объект Boolean вместо булева примитива.

Обратная Совместимость

JavaScript 1.2 и более ранние версии.

Если объект Boolean используется как условие в условном тестировании, JavaScript возвращает значение Boolean-объекта. Например, объект Boolean со значением false рассматривается как примитивное значение false, а Boolean-объект со значением true рассматривается как примитивное значение true в условном тестировании. Если Boolean-объект false, условный оператор вычисляется в false.

Свойства. Резюме.

Свойство Описание

constructor

Специфицирует функцию, создающую прототип объекта.

prototype

Определяет свойство, которое используется всеми Boolean-объектами.

Методы. Резюме.

Метод Описание
toSource

Возвращает литерал объекта, представляющий специфицированный Boolean-объект; Вы можете использовать это значение для создания нового объекта. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую специфицированный объект. Переопределяет метод Object.toString.

valueOf

Возвращает примитивное значение Boolean-объекта. Переопределяет метод Object.valueOf.

Помимо этого, данный объект наследует методы watch и unwatch из Object.

Примеры

В следующих примерах создаются Boolean-объекты с начальным значением false:

bNoParam = new Boolean()
bZero = new Boolean(0)
bNull = new Boolean(null)

bEmptyString = new Boolean("")
bfalse = new Boolean(false)

В следующих примерах создаются Boolean-объекты с начальным значением true:

btrue = new Boolean(true)
btrueString = new Boolean("true")

bfalseString = new Boolean("false")
bSuLin = new Boolean("Su Lin")

constructor

Специфицирует функцию для создания прототипа объекта. Заметьте, что значением этого свойства является ссылка на функцию, а не строка с именем функции.

Свойство из | Boolean
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

См. Object.constructor.

prototype

Прототип для данного класса. Вы можете использовать этот прототип для добавления свойств или методов во все экземпляры класса. О прототипах см. Function.prototype.

Свойство из | Boolean
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

toSource

Возвращает строку, представляющую исходный код объекта.

Метод из | Boolean
Реализован в | JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Boolean метод toSource возвращает следующую строку, означающую, что исходный код недоступен:
       function Boolean() {

      [native code]
       }
  • Для экземпляров объекта Boolean метод toSource возвращает строку, представляющую исходный код.

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.

См. также

Object.toSource

toString

Возвращает строку, представляющую специфицированный Boolean-объект.

Метод из | Boolean
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toString()

Параметры

Отсутствуют.

Описание

Объект Boolean переопределяет метод toString объекта Object; он не наследует метод Object.toString. Для Boolean-объектов метод toString возвращает строку, представляющую объект.

JavaScript вызывает метод toString автоматически, когда Boolean представлен как текстовое значение или когда на Boolean имеется ссылка при конкатенации строк.

Для Boolean -объектов и значений встроенный метод toString возвращает строку "true" или "false", в зависимости от значения Булева объекта. В следующем коде flag.toString возвращает "true".

var flag = new Boolean(true)
var myVar=flag.toString()

См. также

Object.toString

valueOf

Возвращает примитивное значение объекта Boolean.

Метод из | Boolean
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

Метод valueOf объекта Boolean возвращает примитивное значение объекта Boolean или Boolean-литерал как тип данных Boolean.

Этот метод обычно вызывается JavaScript внутренне, а не явно в коде.

Примеры

x = new Boolean();
myVar=x.valueOf()      //присвоение
false to myVar

См. также

Object.valueOf
§ ← → У


Button

Кнопка, размещённая на форме HTML.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type; добавлены обработчики событий onBlur и onFocus; добавлены методы blur и focus. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэг INPUT с "button" в качестве значения атрибута TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты Button и помещает их в массив elements соответствующего объекта Form. Вы получаете доступ к объекту Button по индексу в данном массиве. Можно индексировать массив по числами или использовать значение атрибута NAME.

Обработчики событий

  • onBlur
  • onClick
  • onFocus
  • onMouseDown
  • onMouseUp

Описание

Объект Button на форме выглядит так:

Объект Button это элемент формы и обязан быть определён внутри тэга FORM (теперь вроде уже нет - прим перев.).

Объект Button это специальная кнопка, которую можно использовать для выполнения определённой Вами акции. Кнопка выполняет скрипт, специфицированный её обработчиком onClick.

Свойства. Резюме.

Свойство Описание
form

Специфицирует форму, содержащую объект Button.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает атрибут VALUE.

Методы. Резюме.

Метод Описание
blur

Убирает фокус с кнопки.

click

Симулирует щелчок мышью по кнопке.

focus

Передаёт фокус кнопке.

handleEvent

Вызывает обработчик специфицированного события.

Кроме того, этот объект наследует методы watch и unwatch из Object.

Примеры

В следующем примере создаётся кнопка с названием calcButton. Текст "Calculate" выводится на поверхности кнопки. При щелчке по кнопке вызывается функция calcFunction.

<INPUT TYPE="button" VALUE="Calculate" NAME="calcButton"

   onClick="calcFunction(this.form)">

См. также

Form, Reset, Submit

blur

Убирает фокус с кнопки.

Метод из | Button
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

Примеры

В этом примере фокус убирается с кнопки userButton:

userButton.blur()

Здесь предполагается, что кнопка определена так:

<INPUT TYPE="button" NAME="userButton">

См. также

Button.focus

click

Симулирует щелчок мыши по кнопке, но не запускает обработчик onClick.

Метод из | Button
Реализован в | JavaScript 1.0

Синтаксис

click()

Параметры

Отсутствуют.

Безопасность

Отправка формы по URL mailto: или news: требует привилегии UniversalSendMail. О безопасности см. Клиентский JavaScript. Руководство.

focus

Передаёт фокус кнопке.

Метод из | Button
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

См. также

Button.blur

form

Ссылка на объект, специфицирующая форму, которая содержит кнопку.

Свойство из | Button
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, то есть ссылку на родительскую форму элемента. Это свойство используется в обработчиках событий, где бывает необходимо обратиться к другому элементу текущей формы.

Примеры

Пример 1.

В следующем примере форма myForm содержит объект Text и кнопку. Когда пользователь щёлкает по кнопке, в значение объекта Text устанавливается имя формы. Обработчик onClick кнопки использует this.form для обращения к родительской форме myForm.

<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1"
VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"

   onClick="this.form.text1.value=this.form.name">
</FORM>
Пример 2.

Здесь показана форма с несколькими элементами. Когда пользователь щёлкает button2, функция showElements отображает диалог alert, содержащий имена всех элементов формы myForm.

<script>
function showElements(theForm) {
   str = "Form Elements of
form " + theForm.name + ": \n "
   for (i = 0; i < theForm.length; i++)

      str += theForm.elements[i].name + "\n"
   alert(str)

}
</script>
<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1"
VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"

   onClick="this.form.text1.value=this.form.name">

<INPUT NAME="button2" TYPE="button" VALUE="Show Form Elements"

   onClick="showElements(this.form)">
</FORM>

Диалог alert выведет следующий текст:

JavaScript Alert:
Form Elements of form myForm:
text1
button1
button2
Пример 3.

В этом примере используется ссылка на объект вместо ключевого слова this для обращения к форме. Код возвращает ссылку на myForm, которая является формой, содержащей кнопку myButton.

document.myForm.myButton.form

См. также

Form

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Button
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметры

event

Имя события, для которого объект имеет обработчик события.

Описание

Об обработке событий см. Клиентский JavaScript. Руководство.

name

Строка, специфицирующая имя кнопки.

Свойство из | Button
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию значение этого свойства разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку.

Не путайте свойство name с текстом, отображаемым на поверхности кнопки. Свойство value специфицирует лэйбл кнопки. Свойство name не выводится на экран; оно используется для программного обращения к объекту.

Если несколько объектов формы имеют одно значение атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный Form -объект. Элементы индексируются в порядке их появления в коде, начиная с 0. Например, если два элемента Text и элемент Button в одной форме имеют атрибут NAME со значением "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны учитывать такую ситуацию при создании кода и знать, ссылается myField на единственный элемент или на массив элементов.

Примеры

В следующем примере функция valueGetter использует цикл for для итерации по массиву элементов формы valueTest. Окно msgWindow выводит имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")

   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {

      msgWindow.document.write(newWindow.document.valueTest.elements[i].name
+ "<BR>")
   }
}

В следующем примере первый оператор создаёт окно netscapeWin. Второй оператор выводит значение "netscapeHomePage" в диалоговом окне Alert, поскольку "netscapeHomePage" является значением аргумента windowName окна netscapeWin.

netscapeWin=window.open("http://home.netscape.com","netscapeHomePage")
alert(netscapeWin.name)

См. также

Button.value

type

Для всех объектов Button значением свойства type будет "button". Это свойство специфицирует тип элемента формы.

Свойство из | Button
Только для чтения |
Реализовано в | JavaScript 1.1

Примеры

В следующем примере записывается значение свойства type каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {

   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка - значение атрибута VALUE кнопки.

Свойство из | Button
Только для чтения в Mac и UNIX; модифицируется в Windows
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию значение этого свойства разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Эта строка отображается на поверхности кнопки.

Значение свойства value является read-only в ОС Macintosh и UNIX. В Windows Вы можете изменять это свойство.

Если атрибут VALUE не специфицирован в HTML, свойство value является пустой строкой.

Не путайте свойство value со свойством name. Свойство name не выводится на экран; оно используется для программного обращения к объекту.

Примеры

Эта функция вычисляет значение свойства value группы кнопок и выводит его в окне msgWindow:

function valueGetter() {
   var msgWindow=window.open("")

   msgWindow.document.write("submitButton.value is " +

      document.valueTest.submitButton.value + "<BR>")

   msgWindow.document.write("resetButton.value is " +

      document.valueTest.resetButton.value + "<BR>")

   msgWindow.document.write("helpButton.value is " +

      document.valueTest.helpButton.value + "<BR>")

   msgWindow.document.close()
}

Будут выведены следующие значения:

Query Submit
Reset
Help

В предыдущем примере предполагается, что кнопки были определены так:

<INPUT TYPE="submit" NAME="submitButton">
<INPUT TYPE="reset" NAME="resetButton">
<INPUT TYPE="button" NAME="helpButton" VALUE="Help">

См. также

Button.name
§ ← → У


Checkbox

Переключатель на форме HTML. Переключатель это бокс выбора, дающий пользователю возможность включать и выключать опцию.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type; добавлены обработчики событий onBlur и onFocus; добавлены методы blur и focus. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэг INPUT с "checkbox" в качестве значения атрибута TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты Checkbox и размещает их в массиве elements соответствующего объекта Form. Вы получаете доступ к объекту Checkbox по индексу в этом массиве. Можно индексировать массив по номеру или (если имеются) по значениям атрибута NAME.

Обработчики событий

  • onBlur
  • onClick
  • onFocus

Описание

Объект Checkbox на форме выглядит так:

Объект Checkbox это элемент формы и он обязан быть определён (теперь вроде уже нет - прим перев.) внутри тэга FORM.

Используйте свойство checked для специфицирования статуса переключателя (включён он или нет). Свойство defaultChecked используется для специфицирования статуса переключателя при загрузке или очистке формы.

Свойства. Резюме.

Свойство Описание
checked

Булево свойство, отражающее текущее состояние переключателя (есть ли "птичка").

defaultChecked

Булево свойство, отражающее атрибут CHECKED.

form

Специфицирует форму, содержащую объект Checkbox.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает атрибут TYPE.

Метод. Резюме.

Метод Описание
blur

Убирает фокус.

click

Симулирует щелчок мыши.

focus

Передаёт фокус ввода.

handleEvent

Вызывает обработчик специфицированного события.

Кроме того, этот объект наследует методы watch и unwatch объекта Object.

Примеры

Пример 1.

Выводится группа из 4 переключателей, которые все по умолчанию отмечены:

<B>Specify your music preferences (check all that apply):</B>

<BR><INPUT TYPE="checkbox" NAME="musicpref_rnb" CHECKED> R&B

<BR><INPUT TYPE="checkbox" NAME="musicpref_jazz" CHECKED> Jazz

<BR><INPUT TYPE="checkbox" NAME="musicpref_blues" CHECKED> Blues

<BR><INPUT TYPE="checkbox" NAME="musicpref_newage" CHECKED> New Age
Пример 2.

Форма из 3 текстовых полей и одного переключателя. Можно использовать checkbox для конвертирования текста текстовых полей в верхний регистр. Каждое текстовое поле имеет обработчик onChange, который конвертирует значение поля в верхний регистр, если checkbox помечен. Переключатель имеет обработчик onClick, который конвертирует все поля в верхний регистр, если пользователь отметит переключатель.

<HTML>
<HEAD>
<TITLE>Checkbox object example</TITLE>

</HEAD>
<SCRIPT>
function convertField(field) {
   if
(document.form1.convertUpper.checked) {
      field.value =
field.value.toUpperCase()}
}
function convertAllFields() {

   document.form1.lastName.value = document.form1.lastName.value.toUpperCase()

   document.form1.firstName.value = document.form1.firstName.value.toUpperCase()

   document.form1.cityName.value = document.form1.cityName.value.toUpperCase()
}

</SCRIPT>
<BODY>
<FORM NAME="form1">

<B>Last name:</B>
<INPUT TYPE="text" NAME="lastName"
SIZE=20 onChange="convertField(this)">
<BR><B>First name:</B>

<INPUT TYPE="text" NAME="firstName" SIZE=20 onChange="convertField(this)">

<BR><B>City:</B>
<INPUT TYPE="text" NAME="cityName" SIZE=20
onChange="convertField(this)">
<P><INPUT TYPE="checkBox" NAME="convertUpper"

   onClick="if (this.checked) {convertAllFields()}"

   > Convert fields to upper case
</FORM>
</BODY>
</HTML>

См. также

Form, Radio

blur

Убирает фокус.

Метод из | Checkbox
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

См. также

Checkbox.focus

checked

Булево значение, специфицирующее статус бокса.

Свойство из | Checkbox
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если переключатель выбран (отмечен "птичкой"), значение его свойства checked будет true; иначе - false.

Вы можете в любой момент установить свойство checked. Вид переключателя обновляется немедленно после изменения свойства checked.

См. также

Checkbox.defaultChecked

click

Симулирует щелчок мыши, но не переключает на обработчик onClick. Метод выделяет бокс и переключает его значение.

Метод из | Checkbox
Реализован в | JavaScript 1.0

Синтаксис

click()

Параметры

Отсутствуют.

Примеры

Изменяется статус переключателя newAge формы musicForm:

document.musicForm.newAge.click()

defaultChecked

Булево значение, указывающее статус по умолчанию переключателя.

Свойство из | Checkbox
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если переключатель отмечен по умолчанию, значение свойства defaultChecked - true; иначе - false.
defaultChecked первоначально отражает использование атрибута CHECKED в тэге INPUT; однако установка defaultChecked переопределяет значение атрибута CHECKED.

Вы можете установить свойство defaultChecked в любой момент. Вид переключателя не изменяется после установки свойства defaultChecked, это происходит только при установке свойства checked.

См. также

Checkbox.checked

focus

Передаёт переключателю фокус.

Метод из | Checkbox
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

Описание

Метод focus используется для перехода к переключателю и передаче ему фокуса. Тогда пользователь сможет изменять статус переключателя.

См. также

Checkbox.blur

form

Ссылка на объект, специфицирующая форму, содержащую переключатель.

Свойство из | Checkbox
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму. Это свойство используется в обработчиках событий, где Вам может понадобиться обратиться к другому элементу текущей формы.

См. также

Form

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Checkbox
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметры

event

Имя события, для которого специфицированный объект имеет обработчик события.

name

Строка - имя переключателя.

Свойство из | Checkbox
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если несколько объектов формы имеют одно значение атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный Form -объект. Элементы индексируются в порядке их появления в коде, начиная с 0. Например, если два элемента Text и элемент Button в одной форме имеют атрибут NAME со значением "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны учитывать такую ситуацию при создании кода и знать, ссылается myField на единственный элемент или на массив элементов.

Примеры

Функция valueGetter использует цикл for для итерации по массиву элементов формы valueTest. Окно msgWindow отображает имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")

   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {

      msgWindow.document.write(newWindow.document.valueTest.elements[i].name
+ "<BR>")
   }
}

type

Для всех объектов Checkbox значением свойства type будет "checkbox". Это свойство специфицирует тип элемента формы.

Свойство из | Checkbox
Только для чтения |
Реализовано в | JavaScript 1.1

Примеры

Значение свойства type записывается для каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {

   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, отражающая значение атрибута VALUE переключателя.

Свойство из | Checkbox
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

См. также

Checkbox.checked, Checkbox.defaultChecked

§ ← → У


Date

Позволяет работать с датами и временем.

Объект ядра
Реализовано в | JavaScript 1.0, NES 2.0 JavaScript 1.1: добавлено свойство prototype. JavaScript 1.3: удалена зависимость от платформы; добавлен параметр ms_num в конструктор Date; добавлены методы getFullYear, setFullYear, getMilliseconds, setMilliseconds, toSource и UTC-методы (такие как getUTCDate и setUTCDate).
Версия ECMA | ECMA-262

Создание

Конструктор Date:

new Date()
new Date(milliseconds)
new Date(dateString)

new Date(yr_num, mo_num, day_num
        [,
hr_num, min_num, sec_num, ms_num])
Версии до JavaScript 1.3:
new Date()
new Date(milliseconds)
new Date(dateString)

new Date(yr_num, mo_num, day_num[, hr_num, min_num, sec_num])

Параметры

milliseconds

Целочисленное значение - количество миллисекунд после даты 1 января 1970 года, 00:00:00.

dateString

Строковое значение - дата. Строка должна иметь формат, распознаваемый методом Date.parse.

yr_num, mo_num,
day_num

Целочисленные значения, представляющие части даты. Месяц это числа от 0 до 11, 0=January, 11=December.

hr_num, min_num,
sec_num, ms_num

Целочисленное значение - часть даты.

Описание

Если аргументы не заданы, конструктор создаёт объект Date с текущей датой и временем в соответствии с локальным временем. Если заданы некоторые, но не все, аргументы, отсутствующие аргументы устанавливаются в 0. Если Вы задаёте некоторые аргументы, Вы обязаны как минимум задать значения year, month и day. Можно опустить hours, minutes, seconds и milliseconds.

Дата измеряется в миллисекундах, прошедших с полуночи 01 января 1970 UTC.
В сутках 86,400,000 миллисекунд. Объект Date имеет диапазон от -100,000,000 до 100,000,000 дней относительно 01 January, 1970 UTC.

Объект Date имеет универсальное поведение на всех платформах.

Объект Date поддерживает несколько UTC-методов (универсальных), а также методы локального времени.
UTC, известное также как Greenwich Mean Time (GMT) - время по Гринвичу, это время по стандарту World Time Standard. локальное время это время компьютера, на котором выполняется JavaScript.

Для обеспечения совместимости с переходом в новое тысячелетие Вы должны всегда полностью специфицировать год; например, используйте 1998, а не 98. Для специфицирования полного года JavaScript имеет методы getFullYear, setFullYear, getFullUTCYear и setFullUTCYear.

Следующий пример возвращает время в миллисекундах, прошедшее между датами timeA и timeB.

timeA = new Date();
// Здесь некоторые операторы.

timeB = new Date();
timeDifference = timeB - timeA;

Обратная Совместимость

JavaScript 1.2 и ранее.Поведение объекта Date таково:

  • Даты до 1970 не допускаются.
  • JavaScript зависит от специфики дат на данной платформе; поведение объекта Date меняется от платформы к платформе.

Свойства. Резюме.

Свойство Описание
constructor

Специфицирует функцию, которая создаёт прототип объекта.

prototype

Позволяет добавлять свойства к Date -объекту.

Методы. Резюме.

Метод Описание
getDate

Возвращает день/число месяца для специфицированной даты в соответствии с локальным временем.

getDay

Возвращает день недели для специфицированной даты в соответствии с локальным временем.

getFullYear

Возвращает год для специфицированной даты в соответствии с локальным временем.

getHours

Возвращает часы для специфицированной даты в соответствии с локальным временем.

getMilliseconds

Возвращает миллисекунды для специфицированной даты в соответствии с локальным временем.

getMinutes

Возвращает минуты для специфицированной даты в соответствии с локальным временем.

getMonth

Возвращает месяц для специфицированной даты в соответствии с локальным временем.

getSeconds

Возвращает секунды для специфицированной даты в соответствии с локальным временем.

getTime

Возвращает числовое значение - время для специфицированной даты в соответствии с локальным временем.

getTimezoneOffset

Возвращает смещение часового пояса в минутах для текущей местности.

getUTCDate

Возвращает число/день месяца для специфицированной даты в соответствии со всемирным временем.

getUTCDay

Возвращает день недели для специфицированной даты в соответствии со всемирным временем.

getUTCFullYear

Возвращает год для специфицированной даты в соответствии со всемирным временем.

getUTCHours

Возвращает часы для специфицированной даты в соответствии со всемирным временем.

getUTCMilliseconds

Возвращает миллисекунды для специфицированной даты в соответствии со всемирным временем.

getUTCMinutes

Возвращает минуты для специфицированной даты в соответствии со всемирным временем.

getUTCMonth

Возвращает месяц для специфицированной даты в соответствии со всемирным временем.

getUTCSeconds

Возвращает секунды для специфицированной даты в соответствии со всемирным временем.

getYear

Возвращает год для специфицированной даты в соответствии с локальным временем.

parse

Возвращает количество миллисекунд в дате, прошедших после 1 января 1970, 00:00:00, местного времени.

setDate

Устанавливает день месяца для специфицированной даты в соответствии с локальным временем.

setFullYear

Устанавливает год для специфицированной даты в соответствии с локальным временем.

setHours

Устанавливает час для специфицированной даты в соответствии с локальным временем.

setMilliseconds

Устанавливает часы для специфицированной даты в соответствии с локальным временем.

setMinutes

Устанавливает минуты для специфицированной даты в соответствии с локальным временем.

setMonth

Устанавливает месяц для специфицированной даты в соответствии с локальным временем.

setSeconds

Устанавливает секунды для специфицированной даты в соответствии с локальным временем.

setTime

Устанавливает значение объекта Date в соответствии с локальным временем.

setUTCDate

Устанавливает число/день месяца для специфицированной даты в соответствии со всемирным временем.

setUTCFullYear

Устанавливает полный год для специфицированной даты в соответствии со всемирным временем.

setUTCHours

Устанавливает час для специфицированной даты в соответствии со всемирным временем.

setUTCMilliseconds

Устанавливает миллисекунды для специфицированной даты в соответствии со всемирным временем.

setUTCMinutes

Устанавливает минуты для специфицированной даты в соответствии со всемирным временем.

setUTCMonth

Устанавливает месяц для специфицированной даты в соответствии со всемирным временем.

setUTCSeconds

Устанавливает секунды для специфицированной даты в соответствии со всемирным временем.

setYear

Устанавливает год для специфицированной даты в соответствии с локальным временем.

toGMTString

Конвертирует дату в строку, используя соглашения Internet по GMT.

toLocaleString

Конвертирует дату в строку, используя соглашения текущей местности.

toSource

Возвращает литерал объекта, представляющий специфицированный Date -объект; Вы можете использовать это значение для создания нового объекта. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую специфицированный Date -объект. Переопределяет метод Object.toString.

toUTCString

Конвертирует дату в строку, используя соглашения по всемирному времени.

UTC

Возвращает количество миллисекунд в Date -объекте после 1 января 1970, 00:00:00, всемирного времени.

valueOf

Возвращает примитивное значение Date -объекта. Переопределяет метод Object.valueOf.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Вот примеры присвоения значений-дат:

today = new Date()
birthday = new Date("December 17, 1995 03:24:00")

birthday = new Date(95,11,17)
birthday = new Date(95,11,17,3,24,0)

constructor

Специфицирует функцию, создающую прототип объекта. Заметьте, что значение этого свойства является ссылка на функцию, а не строка с именем функции.

Свойство из | Date
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

См. Object.constructor.

getDate

Возвращает день/число месяца в специфицированной дате в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getDate()

Параметры

Отсутствуют.

Описание

getDate возвращает целое число в диапазоне от 1 до 31.

Пример

Второй оператор присваивает значение 25 переменной day на основе значения Date -объекта Xmas95.

Xmas95 = new Date("December 25, 1995 23:15:00")
day = Xmas95.getDate()

См. также

Date.getUTCDate, Date.getUTCDay, Date.setDate

getDay

Возвращает день для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getDay()

Параметры

Отсутствуют.

Описание

getDay возвращает целое число, соответствующее дню недели: 0 - воскресенье, 1 - понедельник, 2 - вторник и т.д.

Пример

Второй оператор присваивает значение 1 переменной weekday на основе значения Date -объекта Xmas95. December 25, 1995, это Monday/Понедельник.

Xmas95 = new Date("December 25, 1995 23:15:00")
weekday = Xmas95.getDay()

См. также

Date.getUTCDay, Date.setDate

getFullYear

Возвращает день год для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getFullYear()

Параметры

Отсутствуют.

Описание

getFullYear возвращает абсолютное число. Для дат в диапазоне лет от 1000 до 9999 getFullYear возвращает число из 4 цифр, например, 1995. Используйте эту функцию, чтобы иметь уверенность в соответствии числа для лет после 2000.

Используёте этот метод вместо getYear.

Пример

Число из 4 цифр - год - присваивается переменной yr.

var yr;
Today = new Date();
yr = Today.getFullYear();

См. также

Date.getYear, Date.getUTCFullYear , Date.setFullYear

getHours

Возвращает час для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getHours()

Параметры

Отсутствуют.

Описание

getHours возвращает целое число в диапазоне от 0 до 23.

Пример

Второй оператор присваивает значение 23 переменной hours на основе значения Date -объекта Xmas95.

Xmas95 = new Date("December 25, 1995 23:15:00")
hours = Xmas95.getHours()

См. также

Date.getUTCHours, Date.setHours

getMilliseconds

Возвращает количество миллисекунд для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getMilliseconds()

Параметры

Отсутствуют.

Описание

getMilliseconds возвращает число в диапазоне от 0 до 999.

Пример

Часть миллисекунд текущей даты присваивается переменной ms.

var ms;
Today = new Date();
ms = Today.getMilliseconds();

См. также

Date.getUTCMilliseconds , Date.setMilliseconds

getMinutes

Возвращает минуты для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getMinutes()

Параметры

Отсутствуют.

Описание

getMinutes возвращает целое число в диапазоне от 0 до 59.

Пример

Второй оператор присваивает значение 15 переменной minutes на основе значения Date -объекта Xmas95.

Xmas95 = new Date("December 25, 1995 23:15:00")

minutes = Xmas95.getMinutes()

См. также

Date.getUTCMinutes, Date.setMinutes

getMonth

Возвращает месяц для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getMonth()

Параметры

Отсутствуют.

Описание

getMonth возвращает целое число в диапазоне от 0 до 11. 0 соответствует January, 1 - February и т.д.

Пример

Второй оператор присваивает значение 11 переменной month на основе значения Date -объекта Xmas95.

Xmas95 = new Date("December 25, 1995 23:15:00")
month = Xmas95.getMonth()

См. также

Date.getUTCMonth, Date.setMonth

getSeconds

Возвращает секунды для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getSeconds()

Параметры

Отсутствуют.

Описание

getSeconds возвращает целое число в диапазоне от 0 до 59.

Пример

Второй оператор присваивает значение 30 переменной secs на основе значения Date -объекта Xmas95.

Xmas95 = new Date("December 25, 1995 23:15:30")
secs = Xmas95.getSeconds()

См. также

Date.getUTCSeconds, Date.setSeconds

getTime

Возвращает числовое значение, соответствующее времени для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getTime()

Параметры

Отсутствуют.

Описание

getTime возвращает количество миллисекунд, прошедших после 1 января 1970, 00:00:00. Вы можете использовать этот метод для присвоения даты и времени другому Date -объекту.

Пример

Значение даты в theBigDay присваивается sameAsBigDay:

theBigDay = new Date("July 1, 1999")

sameAsBigDay = new Date()
sameAsBigDay.setTime(theBigDay.getTime())

См. также

Date.getUTCHours, Date.setTime

getTimezoneOffset

Возвращает смещение часового пояса в минутах для данной местности.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

getTimezoneOffset()

Параметры

Отсутствуют.

Описание

Смещение часового пояса это разница между местным временем и Greenwich Mean Time (GMT). Корректировка перехода на летнее время делает это значение неконстантным.

Пример

x = new Date()
currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60

getUTCDate

Возвращает день/число месяца для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCDate()

Параметры

Отсутствуют.

Описание

getUTCDate возвращает целое число в диапазоне от 1 до 31.

Пример

Часть day текущей даты присваивается переменной d.

var d;
Today = new Date();
d = Today.getUTCDate();

См. также

Date.getDate , Date.getUTCDay , Date.setUTCDate

getUTCDay

Возвращает день недели для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCDay()

Параметры

Отсутствуют.

Описание

getUTCDay возвращает целое число - день недели: 0 - воскресенье, 1 - понедельник, 2 - вторник и т.д.

Пример

Часть weekday текущей даты присваивается переменной ms.

var weekday;
Today = new Date()
weekday = Today.getUTCDay()

См. также

Date.getDay, Date.getUTCDate, Date.setUTCDate

getUTCFullYear

Возвращает год для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCFullYear()

Параметры

Отсутствуют.

Описание

getUTCFullYear возвращает абсолютное число, соответствующее year-2000, например, 1995.

Пример

4-значное значение текущего года присваивается переменной yr.

var yr;
Today = new Date();
yr = Today.getUTCFullYear();

См. также

Date.getFullYear, Date.setFullYear

getUTCHours

Возвращает час для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCHours()

Параметры

Отсутствуют.

Описание

getUTCHours возвращает целое число в диапазоне от 0 до 23.

Пример

Часть hours текущего времени присваивается переменной hrs.

var hrs;
Today = new Date();
hrs = Today.getUTCHours();

См. также

Date.getHours, Date.setUTCHours

getUTCMilliseconds

Возвращает миллисекунды для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCMilliSeconds()

Параметры

Отсутствуют.

Описание

getUTCMilliseconds возвращает целое число в диапазоне от 0 до 999.

Пример

Часть milliseconds текущего времени присваивается переменной ms.

var ms;
Today = new Date();
ms = Today.getUTCMilliseconds();

См. также

Date.getMilliseconds, Date.setUTCMilliseconds

getUTCMinutes

Возвращает минуты для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCMinutes()

Параметры

Отсутствуют.

Описание

getUTCMinutes возвращает целое число в диапазоне от 0 до 59.

Пример

Часть minutes текущего времени присваивается переменной min.

var min;
Today = new Date();
min = Today.getUTCMinutes();

См. также

Date.getMinutes, Date.setUTCMinutes

getUTCMonth

Возвращает месяц для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCMonth()

Параметры

Отсутствуют.

Описание

getUTCMonth возвращает целое число в диапазоне от 0 до 11.
0 - январь, 1 -февраль, 2 -март и т.д.

Пример

Часть month текущей даты присваивается переменной mon.

var mon;
Today = new Date();
mon = Today.getUTCMonth();

См. также

Date.getMonth, Date.setUTCMonth

getUTCSeconds

Возвращает секунды для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

getUTCSeconds()

Параметры

Отсутствуют.

Описание

getUTCSeconds возвращает целое сило в диапазоне от 0 до 59.

Пример

Часть seconds текущего времени присваивается переменной sec.

var sec;
Today = new Date();
sec = Today.getUTCSeconds();

См. также

Date.getSeconds, Date.setUTCSeconds

getYear

Возвращает год для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0 JavaScript 1.3: не рекомендуется применять; getYear возвращает год минус 1900, независимо от специфицированного года.
Версия ECMA | ECMA-262

Синтаксис

getYear()

Параметры

Отсутствуют.

Описание

getYear больше не используется и заменён на метод getFullYear.

Метод getYear возвращает год минус 1900; соответственно:

  • Для лет больше 2000 - возвращаемое методом getYear значение будет 100 или больше. Например, если это 2026 год, getYear возвратит 126.
  • Для лет от 1900 до 1999 включительно - значение, возвращаемое методом getYear, находится в диапазоне от 0 до 99. Например, если это 1976 год, getYear возвращает 76.
  • Для лет меньше 1900 и больше 1999 значение, возвращаемое методом getYear, будет меньше 0. Например, если это 1800 год, getYear возвращает -100.

Чтобы учесть годы до и после 2000, Вы должны использовать Date.getFullYear вместо getYear, чтобы был специфицирован полный год.

Обратная Совместимость

JavaScript 1.2 и ранее. Метод getYear возвращает 2-х или 4-хзначное число - год:

  • Для лет от 1900 до 1999 включительно - getYear возвращает значение года минус 1900. Например, если это 1976 год, будет возвращено 76.
  • Для лет меньше 1900 или больше 1999 - getYear возвращает год из 4 цифр. Например, если это 1856 год, будет возвращено 1856. Если это 2026 год, будет возвращено значение 2026.

Примеры

Пример 1.

Второй оператор присваивает значение 95 переменной year.

Xmas = new Date("December 25, 1995 23:15:00")
year = Xmas.getYear() // возвращает 95
Пример 2.

Второй оператор присваивает значение 100 переменной year.

Xmas = new Date("December 25, 2000 23:15:00")
year = Xmas.getYear() // возвращает 100
Пример 3.

Второй оператор присваивает значение -100 переменной year.

Xmas = new Date("December 25, 1800 23:15:00")
year = Xmas.getYear() // возвращает -100
Пример 4.

Второй оператор присваивает значение 95 переменной year, представляя 1995 год.

Xmas.setYear(95)
year = Xmas.getYear() // возвращает 95

См. также

Date.getFullYear, Date.getUTCFullYear, Date.setYear

parse

Возвращает количество миллисекунд в строке даты, прошедших после 2 января 1970, 00:00:00, местного времени.

Метод из | Date
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

Date.parse(dateString)

Параметр

dateString

Строка, представляющая дату.

Описание

Метод parse принимает строку с датой (такую как "Dec 25, 1995") и возвращает количество миллисекунд, прошедших до этой даты после 1 января 1970, 00:00:00 (местного времени). Эта функция используется для установки значений даты на основе строковых значений, например, в сочетании с методом setTime и Date -объектом.

Получая строку с временем, parse возвращает значение времени. Он принимает синтаксис даты стандарта IETF : "Mon, 25 Dec 1995 13:30:00 GMT". Он понимает сокращения континентальных часовых поясов США, но для общих случаев используйте смещение часового пояса, например, "Mon, 25 Dec 1995 13:30:00 GMT+0430" (на 4 часа и 30 минут западнее Гринвичского меридиана). Если Вы не специфицируете часовой пояс, используется локальный часовой пояс. GMT и UTC эквивалентны.

Поскольку parse это static-метод объекта Date, Вы всегда используете его как Date.parse(), а не как метод Date -объекта, созданного Вами.

Пример

Если IPOdate это существующий Date -объект, Вы можете установить его в August 9, 1995 таким образом:

IPOdate.setTime(Date.parse("Aug 9, 1995"))

См. также

Date.UTC

prototype

Прототип для данного класса. Вы можете использовать этот прототип для добавления свойств или методов во все экземпляры класса. О прототипах см. Function.prototype.

Свойство из | Date
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

setDate

Устанавливает день/число месяца для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

setDate(dayValue)

Параметр

dayValue

Целое число от 1 до 31 - день/число месяца.

Пример

Второй оператор изменяет theBigDay на July 24.

theBigDay = new Date("July 27, 1962 23:30:00")
theBigDay.setDate(24)

См. также

Date.getDate, Date.setUTCDate

setFullYear

Устанавливает полный год для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setFullYear(yearValue[, monthValue, dayValue])

Параметры

yearValue

Целое число - год, например, 1995.

monthValue

Целое число от 0 до 11 - месяц от January до December.

dayValue

Целое число от 1 до 31 день/число месяца. Если Вы специфицируете параметр dayValue, Вы обязаны также специфицировать и monthValue.

Описание

Если параметры monthValue и dayValue не специфицированы, используются значения, возвращаемые методами getMonth и getDate.

Если специфицированные Вами параметры находятся вне пределов ожидаемого диапазона, setFullYear пытается соответствующим образом обновить другие параметры и информацию даты в Date -объекте. Например, если Вы специфицируете 15 для monthValue, год увеличивается на 1 (year + 1), а 3 используется для месяца.

Пример

theBigDay = new Date();
theBigDay.setFullYear(1997);

См. также

Date.getUTCFullYear , Date.setUTCFullYear, Date.setYear

setHours

Устанавливает час для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0 JavaScript 1.3: добавлены параметры minutesValue, secondsValue и msValue.
Версия ECMA | ECMA-262

Синтаксис

setHours(hoursValue[, minutesValue, secondsValue, msValue])
Версии до JavaScript 1.3:
setHours(hoursValue)

Параметры

hoursValue

Целое число от 0 до 23 - час.

minutesValue

Целое число от 0 до 59 - минуты.

secondsValue

Целое число от 0 до 59 - секунды. Если Вы специфицируете параметр secondsValue, Вы обязаны также специфицировать и minutesValue.

msValue

Число от 0 до 999 - миллисекунды. Если вы специфицируете параметр msValue, Вы обязаны также специфицировать minutesValue и secondsValue.

Описание

Если Вы не специфицировали параметры minutesValue, secondsValue и msValue, используются значения, возвращаемые методами getUTCMinutes, getUTCSeconds и getMilliseconds.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setHours пытается обновить информацию даты в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты будут увеличены на 1 (min + 1), а 40 будет использовано для секунд.

Примеры

theBigDay.setHours(7)

См. также

Date.getHours, Date.setUTCHours

setMilliseconds

Устанавливает миллисекунды для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setMilliseconds(millisecondsValue)

Параметры

millisecondsValue

Число от 0 до 999 - миллисекунды.

Описание

Если Вы специфицируете число вне пределов ожидаемого диапазона, информация даты в Date -объекте обновляется соответствующим образом. Например, если Вы специфицировали 1005, количество секунд увеличивается на 1, а 5 используется для миллисекунд.

Пример

theBigDay = new Date();
theBigDay.setMilliseconds(100);

См. также

Date.getMilliseconds, Date.setUTCMilliseconds

setMinutes

Устанавливает минуты для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0 JavaScript 1.3: добавлены параметры secondsValue msValue.
Версия ECMA | ECMA-262

Синтаксис

setMinutes(minutesValue[, secondsValue, msValue])
Версии до JavaScript 1.3:
setMinutes(minutesValue)

Параметры

minutesValue

Целое число от 0 до 59 - минуты.

secondsValue

Целое число от 0 до 59 - секунды. Если Вы специфицировали параметр secondsValue, Вы обязаны также специфицировать и minutesValue.

msValue

Число от 0 до 999 - миллисекунды. Если вы специфицировали параметр msValue, Вы обязаны также специфицировать minutesValue и secondsValue.

Примеры

theBigDay.setMinutes(45)

Описание

Если Вы не специфицировали параметры secondsValue и msValue, используются значения, возвращаемые методами getSeconds и getMilliseconds.

Если Вы специфицировали параметр вне ожидаемого диапазона, setMinutes пытается соответствующим образом обновить информацию даты в объекте Date. Например, если Вы использовали 100 для secondsValue, минуты (minutesValue) будут увеличены на 1 (minutesValue + 1), а 40 будет использовано для секунд.

См. также

Date.getMinutes, Date.setUTCMilliseconds

setMonth

Устанавливает месяц для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0 JavaScript 1.3: добавлен параметр dayValue.
Версия ECMA | ECMA-262

Синтаксис

setMonth(monthValue[, dayValue])
Версии до JavaScript 1.3:
setMonth(monthValue)

Параметры

monthValue

Целое число от 0 до 11 (месяцы с January до December).

dayValue

Целое число от 1 до 31 - день/число месяца.

Описание

Если Вы не специфицировали параметр dayValue, используется значение из метода getDate.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setMonth пытается обновить информацию даты в Date -объекте. Например, если Вы использовали 15 для monthValue, год увеличивается на 1 (year + 1), а 3 будет использовано для месяцев/month.

Примеры

theBigDay.setMonth(6)

См. также

Date.getMonth, Date.setUTCMonth

setSeconds

Устанавливает секунды для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0 JavaScript 1.3: добавлен параметр msValue.
Версия ECMA | ECMA-262

Синтаксис

setSeconds(secondsValue[, msValue])
Версии до JavaScript 1.3:
setSeconds(secondsValue)

Параметры

secondsValue

Целое от 0 до 59.

msValue

Число от 0 до 999 - миллисекунды.

Описание

Если Вы не специфицируете параметр msValue, используется значение, возвращаемое методом getMilliseconds.

Если специфицированный Вами параметр находится вне ожидаемого диапазона, setSeconds пытается обновить информацию даты в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты, хранимые в объекте Date, будут увеличены на 1, а 40 будет использовано для секунд.

Примеры

theBigDay.setSeconds(30)

См. также

Date.getSeconds, Date.setUTCSeconds

setTime

Устанавливает значение Date -объекта в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

setTime(timevalue)

Параметр

timevalue

Целое число - количество миллисекунд после 1 января 1970, 00:00:00.

Описание

Используйте метод setTime для присвоения даты и времени другому Date -объекту.

Примеры

theBigDay = new Date("July 1, 1999")
sameAsBigDay = new Date()

sameAsBigDay.setTime(theBigDay.getTime())

См. также

Date.getTime, Date.setUTCHours

setUTCDate

Устанавливает день/число месяца для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setUTCDate(dayValue)

Параметр

dayValue

Целое число от 1 до 31 - день/число месяца.

Описание

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCDate пытается обновить информацию даты в Date -объекте. Например, если использовано 40 для dayValue, а хранимый в объекте Date месяц - June, день будет изменён на 10, а месяц будет увеличен до July.

Примеры

theBigDay = new Date();
theBigDay.setUTCDate(20);

См. также

Date.getUTCDate, Date.setDate

setUTCFullYear

Устанавливает полный год для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setUTCFullYear(yearValue[, monthValue, dayValue])

Параметры

yearValue

Целое число, специфицирующее числовое значение года, например, 1995.

monthValue

Целое число от 0 до 11 - месяцы от January до December.

dayValue

Целое число от 1 до 31 день/число месяца. Если Вы специфицировали параметр dayValue, Вы обязаны также специфицировать monthValue.

Описание

Если Вы не специфицировали параметры monthValue и dayValue, используются значения, возвращаемые методами getMonth и getDate.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCFullYear пытается обновить другие параметры и информацию даты в Date -объекте. Например, если Вы специфицировали 15 для monthValue, год увеличивается на 1 (year + 1), а 3 используется для месяца.

Примеры

theBigDay = new Date();
theBigDay.setUTCFullYear(1997);

См. также

Date.getUTCFullYear, Date.setFullYear

setUTCHours

Устанавливает час для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setUTCHour(hoursValue[, minutesValue, secondsValue, msValue])

Параметры

hoursValue

Целое число от 0 до 23 - час.

minutesValue

Целое число от 0 до 59 - минуты.

secondsValue

Целое число от 0 до 59 - секунды. Если Вы специфицировали secondsValue, Вы обязаны также специфицировать minutesValue.

msValue

Число от 0 до 999 - миллисекунды. Если Вы специфицировали параметр msValue, Вы обязаны также специфицировать minutesValue и secondsValue.

Описание

Если Вы не специфицировали параметры minutesValue, secondsValue и msValue, используются значения, возвращаемые методами getUTCMinutes, getUTCSeconds и getUTCMilliseconds.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCHours пытается обновить информацию в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты будут увеличены на 1 (min + 1), а 40 будет использовано для секунд.

Примеры

theBigDay = new Date();
theBigDay.setUTCHour(8);

См. также

Date.getUTCHours, Date.setHours

setUTCMilliseconds

Устанавливает миллисекунды для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setUTCMilliseconds(millisecondsValue)

Параметр

millisecondsValue

Число от 0 до 999, представляющее миллисекунды.

Описание

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCMilliseconds пытается обновить информацию в Date -объекте. Например, если Вы использовали 1100 для millisecondsValue, секунды, хранимые в объекте Date, будут увеличены на 1, а 100 будет использовано для миллисекунд.

Примеры

theBigDay = new Date();
theBigDay.setUTCMilliseconds(500);

См. также

Date.getUTCMilliseconds, Date.setMilliseconds

setUTCMinutes

Устанавливает минуты для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setUTCMinutes(minutesValue[, secondsValue, msValue])

Параметры

minutesValue

Целое число от 0 до 59 - минуты.

secondsValue

Целое число от 0 до 59 - секунды. Если Вы специфицировали secondsValue, Вы обязаны также специфицировать minutesValue.

msValue

Число от 0 до 999 - миллисекунды. Если Вы специфицировали параметр msValue, Вы обязаны также специфицировать minutesValue и secondsValue.

Описание

Если Вы не специфицировали параметры secondsValue и msValue, используются значения, возвращаемые методами getUTCSeconds и getUTCMilliseconds.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCMinutes пытается обновить информацию в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты (minutesValue) будут увеличены на 1 (minutesValue + 1), а 40 будут использованы для секунд.

Примеры

theBigDay = new Date();
theBigDay.setUTCMinutes(43);

См. также

Date.getUTCMinutes, Date.setMinutes

setUTCMonth

Устанавливает месяц для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setUTCMonth(monthValue[, dayValue])

Параметры

monthValue

Целое число от 0 до 11 - месяц от January до December.

dayValue

Целое число от 1 до 31 - день/число месяца.

Описание

Если Вы не специфицировали параметр dayValue, будет использовано значение, возвращаемое методом getUTCDate.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCMonth пытается обновить информацию в Date -объекте. Например, если Вы использовали 15 для monthValue, год будет увеличен на 1 (year + 1), а 3 будет использовано для месяцев.

Примеры

theBigDay = new Date();
theBigDay.setUTCMonth(11);

См. также

Date.getUTCMonth, Date.setMonth

setUTCSeconds

Устанавливает секунды для специфицированной даты в соответствии со всемирным временем.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setUTCSeconds(secondsValue[, msValue])

Параметры

secondsValue

Целое число от 0 до 59.

msValue

Число от 0 до 999 - миллисекунды.

Описание

Если Вы не специфицировали параметр msValue, используется значение, возвращаемое методом getUTCMilliseconds.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCSeconds пытается обновить информацию в Date -объекте. Например, если Вы использовали 100 для secondsValue, минуты, хранимые в Date -объекте, будут увеличены на 1, а 40 будет использовано для секунд.

Примеры

theBigDay = new Date();
theBigDay.setUTCSeconds(20);

См. также

Date.getUTCSeconds, Date.setSeconds

setYear

Устанавливает год для специфицированной даты в соответствии с локальным временем.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0 Не рекомендуется использовать в JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

setYear(yearValue)

Параметр

yearValue

Целое число.

Описание

setYear больше не используется и заменён на метод setFullYear.

Если yearValue это число от 0 до 99 (включительно), то год для dateObjectName устанавливается в 1900 + yearValue. Иначе год для dateObjectName устанавливается в yearValue.

Чтобы учесть годы до и после 2000, Вы должны использовать setFullYear вместо setYear, чтобы год был специфицирован полностью.

Примеры

Обратите внимание, что имеются два способа установки года в 20 столетии.

Пример 1.

Год установлен в 1996.

theBigDay.setYear(96)
Пример 2.

Год установлен в 1996.

theBigDay.setYear(1996)
Пример 3.

Год установлен 2000.

theBigDay.setYear(2000)

См. также

Date.getYear, Date.setFullYear, Date.setUTCFullYear

toGMTString

Конвертирует дату в строку с использованием соглашений Internet по GMT.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0 Не рекомендуется использовать в JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

toGMTString()

Параметры

Отсутствуют.

Описание

toGMTString больше не используется, не рекомендуется к применению и заменён на метод toUTCString.

Точный формат возвращаемого toGMTString значения варьируется в зависимости от платформы.

Вы должны использовать Date.toUTCString вместо toGMTSTring.

Примеры

Здесь today это Date -объект:

today.toGMTString()

В этом примере метод toGMTString конвертирует дату в GMT (UTC), используя смещение часового пояса операционной системы, и возвращает строковое значение, которое имеет примерно следующую форму. (Точная форма зависит от платформы.)

Mon, 18 Dec 1995 17:28:35 GMT

См. также

Date.toLocaleString, Date.toUTCString

toLocaleString

Конвертирует дату в строку, используя соглашения данной местности.

Метод из | Date
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toLocaleString()

Параметры

Отсутствуют.

Описание

Если Вы передаёте дату с использованием toLocaleString, имейте в виду, что разные платформы ассемблируют строки по-разному. Методы, такие как getHours, getMinutes и getSeconds, дают более переносимые результаты.

Метод toLocaleString опирается на ОС при форматировании дат. Он конвертирует дату в строку, используя соглашения по форматированию операционной системы, на которой скрипт запущен. Например, в США месяц идёт перед числом (04/15/98), а в Германии число идёт перед месяцем (15.04.98). Если ОС не решает проблему year-2000 и не использует полный год для лет до 1900 или после 2000, toLocaleString возвращает строку, которая не решает проблему year-2000. toLocaleString ведёт себя аналогично методу toString при конвертации года, который ОС форматирует несоответствующим образом.

Примеры

В следующем примере today это Date -объект:

today = new Date(95,11,18,17,28,35) //месяц представлен числами от 0 до 11
today.toLocaleString()

В следующем примере toLocaleString возвращает строковое значение в такой форме. (Точный формат зависит от платформы.)

12/18/95 17:28:35

См. также

Date.toGMTString, Date.toUTCString

toSource

Возвращает строку, представляющую исходный код объекта.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Date метод toSource возвращает следующую строку, указывающую, что исходный код недоступен:
    •    function Date() {

      [native code]
       }
  • Для экземпляров объекта Date метод toSource возвращает строку, представляющую исходный код.

Этот метод обычно вызывается JavaScript внутренне, а не явно в коде.

См. также

Object.toSource

toString

Возвращает строку, представляющую специфицированный Date -объект.

Метод из | Date
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toString()

Параметры

Отсутствуют.

Описание

Объект Date переопределяет метод toString объекта Object; он не наследует Object.toString. Для объектов Date метод toString возвращает строковое представление объекта.

JavaScript автоматически вызывает метод toString, когда даты представлена как текстовое значение или когда на дату ссылаются при конкатенации строк.

Примеры

toString -значение объекта Date присваивается переменной myVar:

x = new Date();
myVar=x.toString();   //присваивается значение переменной myVar, как здесь, например:
                   //Mon Sep 28 14:36:22 GMT-0700 (Pacific Daylight Time) 1998

См. также

Object.toString

toUTCString

Конвертирует дату в строку, используя соглашение по всемирному времени.

Метод из | Date
Реализован в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

toUTCString()

Параметры

Отсутствуют.

Описание

Значение, возвращаемое методом toUTCString, является читаемой строкой, сформатированной в соответствии с соглашением UTC. Формат return-значения может варьироваться в зависимости от платформы.

Примеры

var UTCstring;
Today = new Date();
UTCstring = Today.toUTCString();

См. также

Date.toLocaleString, Date.toUTCString

UTC

Возвращает количество миллисекунд в Date -объекте, прошедших после 1 января 1970 года, 00:00:00, всемирного времени.

Метод из | Date
Static
Реализован в | JavaScript 1.0, NES 2.0 JavaScript 1.3: добавлен параметр ms.
Версия ECMA | ECMA-262

Синтаксис

Date.UTC(year, month, day[, hrs, min,
sec, ms])

Параметры

year

Год после 1900.

month

Целое число от 0 до 11 - месяц.

date

Целое число от 1 до 31 - день/число месяца.

hrs

Целое число от 0 до 23 - час.

min

Целое число от 0 до 59 - минуты.

sec

Целое число от 0 до 59 - секунды.

ms

Целое число от 0 до 999 - миллисекунды.

Описание

UTC принимает разделённые запятыми параметры даты и возвращает количество миллисекунд прошедшее в период от 1 января 1970 года 00:00:00 всемирного времени до времени, специфицированного Вами.

Вы должны специфицировать полный год для year; например, 1998. Если специфицирован год в диапазоне от 0 до 99, метод конвертирует год в год 20 столетия (1900 + year); например, если специфицировано 95, используется 1995 год.

Метод UTC отличается от конструктора Date двумя позициями:

  • Date.UTC использует всемирное время, а не локальное.
  • Date.UTC возвращает значение времени как число, вместо создания объекта Date.

Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, метод UTC обновляет другие параметры Вашего числа. Например, если Вы используете 15 для month, год будет увеличен на 1 (year + 1), а 3 будет использоваться для месяца.

Поскольку UTC это static-метод объекта Date, Вы всегда используете его так Date.UTC(), а не как метод созданного Вами Date -объекта.

Пример

Оператор создаёт Date -объект с использованием GMT вместо локального времени:

gmtDate = new Date(Date.UTC(96, 11, 1, 0, 0, 0))

См. также

Date.parse

valueOf

Возвращает примитивное значение объекта Date.

Метод из | Date
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

Метод valueOf объекта Date возвращает примитивное значение объекта Date как тип данных number (число), количество миллисекунд, прошедших после полуночи 01 января 1970 года по UTC.

Это метод обычно вызывается в JavaScript внутренне, а не явно в коде.

Примеры

x = new Date(56,6,17);

myVar=x.valueOf()      //присваивает -424713600000 переменной myVar

См. также

Object.valueOf
§ ← → У


document

Содержит информацию о текущем документе и предоставляет методы для отображения HTML-вывода пользователю.

Клиентский объект

Реализован в

JavaScript 1.0

JavaScript 1.1: добавлен синтаксис onBlur и onFocus; добавлены свойства applets, domain, embeds, forms, formName , images и plugins.

JavaScript 1.2: добавлены свойства classes, ids, layers и tags; добавлены методы captureEvents, contextual, getSelection, handleEvent, releaseEvents и routeEvent.

Создание

HTML-тэгом BODY. Машина выполнения JavaScript создаёт объект document для каждой HTML-страницы. Каждый объект window имеет свойство document, значением которого является объект document.

Для определения объекта document используйте стандартный синтаксис HTML для тэга BODY с дополнением обработчиками событий JavaScript.

Обработчики событий

Обработчики событий onBlur, onFocus, onLoad и onUnload специфицируются в тэге BODY, но реально являются обработчиками событий объекта window. Вот обработчики событий объекта document:

  • onClick
  • onDblClick
  • onKeyDown
  • onKeyPress
  • onKeyUp
  • onMouseDown
  • onMouseUp

Описание

Документ HTML состоит из тэгов HEAD и BODY. Тэг HEAD содержит информацию о заголовке и базе документа (абсолютном базовом URL, используемом для разрешения относительных URL-гиперссылок данного документа). Тэг BODY содержит тело документа, которое определяется текущим URL. Всё тело документа (все остальные элементы HTML данного документа) находится внутри тэгов BODY.

Вы можете загружать новый документ, устанавливая свойство window.location.

Вы можете очистить панель документа (и удалить текст, элементы формы и т.д., и они не будут больше отображаться) с помощью таких операторов:

document.close();
document.open();
document.write();

Можно опустить вызов document.open, если Вы пишете текст или HTML, поскольку write выполняет неявное открытие MIME-типа, если поток документа закрывается.

Вы можете обращаться к якорям/anchors, формам/forms и ссылкам/ links документа, используя массивы anchors, forms и links. Эти массивы содержат вхождения для каждого якоря, формы или ссылки документа и являются свойствами объекта document.

Не используйте location как свойство объекта document; используйте вместо него свойство document.URL. Свойство document.location, которое является синонимом свойства document.URL, не рекомендуется применять.

Свойства. Резюме.

Свойство Описание
alinkColor

Строка, специфицирующая атрибут ALINK.

anchors

Массив, содержащий вхождение каждого якоря документа.

applets

Массив, содержащий вхождение каждого аплета документа.

bgColor

Строка, специфицирующая атрибут BGCOLOR.

classes

Создаёт объект Style, который может специфицировать стили тэгов HTML с атрибутом CLASS.

cookie

Специфицирует куку.

domain

Специфицирует имя домена сервера, обслужившего документ.

embeds

Массив, содержащий вхождение каждого plug-in документа.

fgColor

Строка, специфицирующая атрибут TEXT.

formName

Отдельное свойство для каждой именованной формы документа.

forms

Массив, содержащий вхождение каждой формы документа.

height

Высота документа в пикселах.

ids

Создаёт объект Style, который может специфицировать стиль отдельных тэгов HTML.

images

Массив, содержащий вхождение каждого изображения документа.

lastModified

Строка, специфицирующая дату последнего изменения документа.

layers

Массив, содержащий вхождение каждого слоя документа.

linkColor

Строка, специфицирующая атрибут LINK.

links

Массив, содержащий вхождение каждой гиперссылки документа.

plugins

Массив, содержащий вхождение каждого plug-in документа.

referrer

Строка, специфицирующая URL вызывающего документа.

tags

Создаёт объект Style, который может специфицировать стили тэгов HTML.

title

Строка, специфицирующая содержимое тэга TITLE.

URL

Строка, специфицирующая полный URL документа.

vlinkColor

Строка, специфицирующая атрибут VLINK.

width

Ширина документа в пикселах.

Методы. Резюме.

Метод Описание
captureEvents

Устанавливает захват документом всех событий специфицированного типа.

close

Закрывает поток вывода и форсирует отображение данных.

contextual

Использует контекстуальный отбор по критериям специфицирования объекта Style, который может устанавливать стиль отдельных тэгов HTML.

getSelection

Возвращает строку, содержащую текущий выбранный текст.

handleEvent

Вызывает обработчик специфицированного события.

open

Открывает поток сбора вывода методов write или writeln.

releaseEvents

Устанавливает освобождение объектами window или document захваченных событий специфицированного типа.

routeEvent

Передаёт захваченное событие по иерархии нормальных событий.

write

Записывает одно или более выражений HTML в документ в специфицированном окне.

writeln

Записывает одно или более выражений HTML и символ новой строки в документ в специфицированном окне.

Помимо этого, данный объект наследует методы watch и unwatch объекта Object.

Примеры

Следующий пример создаёт два фрэйма, каждый с одним документом. Документ первого фрэйма содержит ссылки на якоря в документе второго фрэйма. Каждый документ определяет свой цвет.

doc0.html, который определяет фрэймы, содержит следующий код:

<HTML>
<HEAD>
<TITLE>Document object example</TITLE>

</HEAD>
<FRAMESET COLS="30%,70%">
<FRAME SRC="doc1.html" NAME="frame1">

<FRAME SRC="doc2.html" NAME="frame2">
</FRAMESET>
</HTML>

doc1.html, который определяет содержимое первого фрэйма, содержит следующий код:

<HTML>
<SCRIPT>
</SCRIPT>
<BODY

   BGCOLOR="antiquewhite"
   TEXT="darkviolet"

   LINK="fuchsia"
   ALINK="forestgreen"

   VLINK="navy">
<P><B>Some links</B>

<LI><A href="./?f=doc2.html#numbers" TARGET="frame2">Numbers</A>

<LI><A href="./?f=doc2.html#colors" TARGET="frame2">Colors</A>

<LI><A href="./?f=doc2.html#musicTypes" TARGET="frame2">Music types</A>

<LI><A href="./?f=doc2.html#countries" TARGET="frame2">Countries</A>
</BODY>

</HTML>

doc2.html, который определяет содержимое второго фрэйма, содержит следующий код:

<HTML>
<SCRIPT>

</SCRIPT>
<BODY
   BGCOLOR="oldlace" onLoad="alert('Hello, World.')"

   TEXT="navy">
<P><A NAME="numbers"><B>Some numbers</B></A>
<UL><LI>one

<LI>two
<LI>three
<LI>four</UL>
<P><A NAME="colors"><B>Some colors</B></A>

<UL><LI>red
<LI>orange
<LI>yellow
<LI>green</UL>

<P><A NAME="musicTypes"><B>Some music types</B></A>

<UL><LI>R&B
<LI>Jazz
<LI>Soul
<LI>Reggae</UL>

<P><A NAME="countries"><B>Some countries</B></A>

<UL><LI>Afghanistan
<LI>Brazil
<LI>Canada
<LI>Finland</UL>

</BODY>
</HTML>

См. также

Frame, window

alinkColor

Строка, специфицирующая цвет активной гиперссылки (после нажатия кнопки мыши, но до её отпускания).

Свойство из | document
Реализовано в | JavaScript 1.0

Описание

Свойство alinkColor выражается как 16-ричный триплет RGB или как строковой литерал (см. книгу Клиентский JavaScript. Руководство.). Это свойство является отражением в JavaScript атрибута ALINK тэга BODY.

Если Вы выводите цвет как 16-ричный триплет RGB, Вы обязаны использовать формат rrggbb. Например, 16-ричное значение RGB цвета salmon будет red=FA, green=80 и blue=72, так что RGB-триплет для salmon будет "FA8072".

Примеры

В этом примере устанавливается цвет активной гиперссылки с использованием строкового литерала:

document.alinkColor="aqua"

Здесь устанавливается цвет активной ссылки aqua с использованием 16-ричного триплета:

document.alinkColor="00FFFF"

См. также

document.bgColor, document.fgColor, document.linkColor, document.vlinkColor

anchors

Массив объектов, соответствующих именованным якорям в порядке размещения в исходном коде.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.0

Описание

Вы можете обращаться к объектам Anchor в Вашем коде, используя массив anchors. Этот массив содержит вхождение для каждого тэга A, имеющего атрибут NAME; это вхождения в порядке расположения в исходном коде документа. Например, если документ содержит три именованных якоря со значениями атрибута NAME anchor1, anchor2 и anchor3, Вы можете обратиться к этим якорям так:

document.anchors["anchor1"]
document.anchors["anchor2"]
document.anchors["anchor3"]

или так:

document.anchors[0]
document.anchors[1]
document.anchors[2]

Для получения количества якорей в документе используйте свойство length: document.anchors.length. Если документ содержит якоря, именованные в системном порядке натуральными числами, Вы можете использовать массив anchors и его свойство length для проверки имени якоря перед его использованием в операциях типа установки location.hash.

applets

Массив объектов-аплетов в порядке их появления в исходном коде документа.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.1

Описание

Вы можете обращаться к аплетам через использование массива applets. Этот массив содержит вхождения для каждого объекта Applet (тэг APPLET) в документе; вхождения соответствуют порядку появления аплетов в исходном коде страницы. Например, если документ содержит три аплета со значениями атрибута NAME app1, app2 и app3, Вы можете обращаться к аплетам так:

document.applets["app1"]
document.applets["app2"]
document.applets["app3"]

или так:

document.applets[0]
document.applets[1]
document.applets[2]

Чтобы получить число аплетов в документе, используйте свойство length: document.applets.length.

bgColor

Строка, специфицирующая цвет фона документа.

Свойство из | document
Реализовано в | JavaScript 1.0

Описание

Свойство bgColor выражается как 16-ричный RGB-триплет или как строковой литерал (см. книгу Клиентский JavaScript. Руководство). Это свойство является отражением в JavaScript атрибута BGCOLOR тэга BODY. По умолчанию значение этого свойства устанавливается пользователем в диалоговом окне настроек.

Если Вы записываете цвет как 16-ричный RGB-триплет, Вы обязаны использовать формат rrggbb. Например, 16-ричные значения RGB для цвета salmon будут red=FA, green=80 и blue=72, так что RGB-триплет для salmon будет "FA8072".

Примеры

Здесь устанавливается цвет фона документа в aqua с использованием литерала:

document.bgColor="aqua"

А здесь - с использованием 16-ричного триплета:

document.bgColor="00FFFF"

См. также

document.alinkColor, document.fgColor, document.linkColor, document.vlinkColor

captureEvents

Настраивает документ для отлова всех событий специфицированного типа.

Метод из | document
Реализован в | JavaScript 1.2

Синтаксис

captureEvents(eventType)

Параметры

eventType

Тип отлавливаемых событий. Допустимые типы перечислены в описании объекта event.

Описание

Если окно с фрэймами должно отлавливать события на страницах, загружаемых с разных серверов, Вам необходимо использовать window.captureEvents в помеченном скрипте с предшествующим window.enableExternalCapture. Информацию и пример см. в статье window.enableExternalCapture.

captureEvents работает в паре с releaseEvents, routeEvent и handleEvent. О событиях см. дополнительно Клиентский JavaScript. Руководство.

classes

Создаёт объект Style, который может специфицировать стили тэгов HTML со специфическим атрибутом CLASS.

Свойство из | document
Реализовано в | JavaScript 1.2

Синтаксис

document.classes.className.tagName

Параметры

className

Значение с учётом регистра символов - атрибут CLASS тэга HTML, специфицированного в tagName..

tagName

Значение без учёта регистра - имя HTML-тэга, такое как H1 или BLOCKQUOTE. Если значением tagName является all, tagName ссылается на все тэги HTML.

Описание

Используйте свойство classes для специфицирования стиля тэгов HTML, имеющих специфический атрибут CLASS. Например, Вы можете специфицировать, что цвет класса GreenBody тэгов P или BLOCKQUOTE будет зелёным. См. в объекте Style описание стилевых свойств, которые Вы можете специфицировать для classes.

Если Вы используете свойство classes внутри тэга STYLE (а не внутри тэга SCRIPT), Вы можете по выбору опустить document в синтаксисе classes. Свойство classes всегда применяется к текущему объекту document.

Примеры

В этом примере в зелёный устанавливается цвет всех тэгов, использующих атрибут GreenBody CLASS:

<STYLE TYPE="text/javascript">
   classes.GreenBody.all.color="green"
</STYLE>

Заметьте, что Вы можете опустить указание объекта document внутри тэга STYLE. Внутри тэга SCRIPT Вы обязаны специфицировать объект document таким образом:

<SCRIPT LANGUAGE="JavaScript1.2">
   document.classes.GreenBody.all.color="green"
</SCRIPT>

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

<P CLASS="GreenBody">
<BLOCKQUOTE CLASS="GreenBody">

См. также

document.contextual, document.ids, document.tags, Style

close

Закрывает поток вывода и форсирует отображение данных, отправленных для вывода.

Метод из | document
Реализован в | JavaScript 1.0

Синтаксис

close()

Параметры

Отсутствуют.

Описание

Метод close закрывает поток, открытый методом document.open. Если поток был открыт для отображения, метод close форсирует отображение содержимого потока. Тэги стиля шрифта, такие как BIG и CENTER, автоматически очищают поток вывода.

Метод close также останавливает "метеорный поток" в иконке Netscape и отображает Document: Done в статусной строке браузера.

Примеры

Следующая функция вызывает document.close для закрытия потока, который был открыт методом document.open. Метод document.close форсирует отображение в окне содержимого потока.

function windowWriter1() {
   var myString = "Hello, world!"

   msgWindow.document.open()
   msgWindow.document.write(myString + "<P>")

   msgWindow.document.close()
}

См. также

document.open, document.write, document.writeln

contextual

Использует контекстные критерии отбора для специфицирования объекта Style, который может устанавливать стиль отдельных тэгов HTML.

Метод из | document
Реализован в | JavaScript 1.2

Синтаксис

contextual(context1, ...[contextN,] affectedStyle)

Параметры

context1, ...[contextN]>

Объекты Style, описанные свойствами document.classes или document.tags, которые устанавливают контекст для объекта Style.

affectedStyle

Объект Style, стилевые свойства которого Вы хотите изменить.

Описание

Метод contextual предоставляет точный контроль над специфицированием стилей. Он даёт Вам возможность применять стиль к HTML-элементу, который появляется в очень специфическом контексте. Например, Вы можете специфицировать, что цвет текста внутри тэга EM, который находится внутри тэга H1, будет голубым/blue.

Затем Вы можете уточнить выбор, специфицируя несколько контекстов. Например, Вы можете установить цвет любого тэга LI с двумя или более родительскими UL, специфицировав UL для первых двух контекстов.

Примеры

Пример 1. Здесь устанавливается голубой цвет текста внутри любого тэга EM, появляющегося в H1.

<STYLE TYPE="text/javascript">

   contextual(document.tags.H1, document.tags.EM).color="blue";
</STYLE>

Обратите внимание, что можно опускать указание объекта document внутри тэга STYLE. Внутри тэга SCRIPT Вы обязаны специфицировать объект document таким образом:

<SCRIPT LANGUAGE="JavaScript1.2">

document.contextual(document.tags.H1, document.tags.EM).color="blue";
</SCRIPT>

В этом примере текст в тэге EM будет голубым:

<H1 CLASS="Main">The following text is <EM>blue</EM></H1>

Пример 2. Этот пример устанавливает цвет элемента LI с двумя или более родительскими UL в красный.

<STYLE TYPE="text/javascript">
   contextual(tags.UL, tags.UL, tags.LI).color="red";
</STYLE>

См. также

document.classes, document.tags, Style

cookie

Строковое значение, представляющее все куки, ассоциированные с данным документом.

Свойство из | document
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство по умолчанию разрушено. Об искажении/разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Кука это небольшой блок информации, сохраняемый web-браузером в файле cookies.txt. Используйте string -методы, такие как substring, charAt, indexOf и lastIndexOf, для определения значения, хранимого в куке. См. в разделах Приложение C, "Куки Netscape" полную спецификацию синтаксиса кук.

Вы можете установить свойство cookie в любое время.

Компонент "expires=" в куки-файле устанавливает срок окончания действия куки, так что она может существовать по окончании текущей сессии браузера. Эта строка даты форматируется так:

Wdy, DD-Mon-YY HH:MM:SS GMT

Этот формат представляет следующие значения:

  • Wdy - строка с полным названием дня недели.
  • DD - целое число - число месяца.
  • Mon - строка - трёхбуквенная аббревиатура названия месяца.
  • YY - целое число - последние две цифры года.
  • HH, MM и SS это двухсимвольные представления часа, минут и секунд, соответственно.

Например, верная дата окончания срока действия куки выглядит так:

expires=Wednesday, 09-Nov-99 23:12:40 GMT

Формат даты куки - тот же самый, что и у даты, возвращаемой методом toGMTString, со следующими исключениями:

  • Между значениями дня, месяца и года добавляются тире.
  • Год в куке это значение из двух цифр.

Пример

Следующая функция использует свойство cookie для записи напоминания пользователю приложения. Дата окончания работы куки устанавливается в один день после даты напоминания.

function RecordReminder(time, expression) {

   // Записывает куку в форме "@<T>=<E>" для отображения

   // из <T> в миллисекундах,

   // возвращаемых методом Date.getTime(), в кодированное выражение,

   // <E> (кодировано с отсутствием символов пробелов, точки с запятой или запятой)

   document.cookie = "@" + time + "=" + expression + ";"

   // устанавливается время окончания работы куки в один день
   // после дня напоминания

   document.cookie += "expires=" +
cookieDate(time + 24*60*60*1000)

   // cookieDate это функция, которая форматирует дату
   //в соответствии со спецификацией куки
}

См. также

Hidden

domain

Специфицирует имя домена сервера, обслужившего документ.

Свойство из | document
Реализовано в | JavaScript 1.1

Безопасность

JavaScript 1.1. Значение этого свойства по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

JavaScript 1.1. Свойство domain даёт скриптам возможность совместно использовать свойства на нескольких серверах, когда разрушение данных не включено. Если разрушение отключено, скрипт, запущенный в одном окне, может читать свойства другого окна только тогда, когда оба окна получены от одного Web-сервера. Но на больших Web-сайтах с несколькими серверами может понадобиться совместно использовать свойства несколькими серверами. Например, скрипту на хосте www.royalairways.com может понадобиться использовать свойства совместно со скриптом на хосте search.royalairways.com.

Если скрипты на двух разных серверах изменяют свои свойства domain таким образом, что оба скрипта имеют одно имя домена, оба скрипта могут использовать свойства совместно. Например, скрипт, загруженный с search.royalairways.com может установить своё свойство domain в "royalairways.com". Скрипт с www.royalairways.com, запущенный в другом окне, также может установить своё свойство domain в "royalairways.com". Затем, поскольку оба скрипта имеют домен "royalairways.com", они могут совместно использовать свойства, хотя они и не происходят с одного сервера.

Вы можете изменить domain только с ограничениями. Сначала domain содержит hostname Web-сервера, с которого документ был загружен. Вы можете установить domain только в доменном суффиксе самого домена. Например, скрипт с search.royalairways.com не может установить свойство domain в "search.royalairways". А скрипт с IWantYourMoney.com не может установить свой домен в "royalairways.com".

После изменения свойства domain Вы не можете вернуть его обратно в оригинальное значение. Например, если Вы изменяете domain с "search.royalairways.com" на "royalairways.com", Вы не можете восстановить его обратно в "search.royalairways.com".

Пример

Следующий оператор изменяет свойство domain в "braveNewWorld.com". Этот оператор верен только тогда, когда суффикс "braveNewWorld.com" является суффиксом текущего домена, такого как "www.braveNewWorld.com".

document.domain="braveNewWorld.com"

embeds

Массив, содержащий вхождения каждого объекта, встроенного в документ.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.1

Описание

Вы можете обратиться к встроенным объектам (созданных тэгом EMBED) в Вашем коде, используя массив embeds. Этот массив содержит вхождение для каждого тэга EMBED в документе в порядке их появления. Например, если документ содержит три внедрённых объекта с атрибутами NAME e1, e2 и e3, Вы можете обратиться к этим объектам так:

document.embeds["e1"]
document.embeds["e2"]
document.embeds["e3"]

или так:

document.embeds[0]
document.embeds[1]
document.embeds[2]

Для получения количества внедрённых объектов документа используйте свойство length: document.embeds.length.

Элементы в массиве embeds могут иметь вызываемые public-функции, если они обращаются к plug-in'у, который использует LiveConnect. См. информацию по LiveConnect в книге Клиентский JavaScript. Руководство.

Используйте элементы массива embeds для взаимодействия с plug-in, который отображает внедрённый объект. Если plug-in не работает с Java, Вы не сможете ничего сделать с его элементом в массиве embeds. Поля и методы элементов массива embeds отличаются от plug-in'а к plug-in'у; см. документацию, поставляемую изготовителем plug-in'а.

Если вы используете тэг EMBED для генерирования вывода из plug-in-приложения, Вы не создаёте объект Plugin.

Примеры

Следующий код вставляет аудио plug-in в документ:

<EMBED SRC="train.au" HEIGHT=50 WIDTH=250>

См. также

Plugin

fgColor

Строка, специфицирующая цвет текста документа (foreground).

Свойство из | document
Реализовано в | JavaScript 1.0

Описание

Свойство fgColor выражается как 16-ричный триплет RGB или как строковой литерал (см. книгу Клиентский JavaScript. Руководство.). Это свойство является отражением в JavaScript атрибута TEXT тэга BODY. По умолчанию значение этого свойства устанавливается пользователем в диалоговом окне настроек. Вы не можете установить это свойство после того как HTML-источник отображён.

Если цвет выражается как 16-ричный RGB-триплет, Вы обязаны использовать формат rrggbb. Например, 16-ричные RGB-значения для цвета salmon будут red=FA, green=80 и blue=72, так что RGB-триплет для salmon будет "FA8072".

Вы можете переопределить значение, установленное в свойстве fgColor, одним из следующих способов:

  • Установив атрибут COLOR тэга FONT.
  • Использовав метод fontcolor.

formName

Имя формы.

Свойство из | document
Реализовано в | JavaScript 1.1

Объект document имеет отдельное свойство для каждой формы документа. Имя этого свойства является значением атрибута NAME формы. См. в Hidden информацию об объектах Form. Вы не можете добавить новые формы в документ, создав новые свойства, но можете изменить форму, изменяя этот объект.

forms

Массив вхождений всех форм документа.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.1

Безопасность

JavaScript 1.1. Это свойство по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Вы можете обратиться в Вашем коде к формам, использовав массив forms (Вы можете также использовать имя формы). Это массив содержит вхождение для каждого объекта Form (тэг FORM) документа; эти вхождения расположены в том же порядке, что и в исходном коде. Например, если документ содержит три формы со значениями атрибутов NAME form1, form2 и form3, Вы можете обратиться к объектам массива forms так:

document.forms["form1"]
document.forms["
form2"]
document.forms["form3"]

или так:

document.forms[0]
document.forms[1]
document.forms[2]

Дополнительно объект document имеет отдельное свойство для каждой именованной формы, так что Вы можете обратиться к этим формам таким образом:

document.form1
document.form2

document.form3

Например, Вы можете обратиться к объекту Text с именем quantity во второй форме: document.forms[1].quantity. Вы можете обратиться к свойству value этого объекта Text: document.forms[1].quantity.value.

Значение каждого элемента в массиве forms это <object nameAttribute>, где nameAttribute это атрибут NAME формы.

Для получения количества форм документа используйте свойство length: document.forms.length.

getSelection

Возвращает строку, содержащую текст текущего выделения.

Метод из | document
Реализован в | JavaScript 1.2

Синтаксис

getSelection()

Описание

Этот метод работает только в текущем документе.

Безопасность

Вы не можете определить выбранные области в другом окне.

Пример

Если у Вас имеется форма со следующим кодом и Вы щёлкнули на кнопке, JavaScript отображает alert-диалог, содержащий текущий выделенный текст из окна, содержащего кнопку:

<INPUT TYPE="BUTTON" NAME="getstring"

   VALUE="Show highlighted text (if any)"

   onClick="alert('You have selected:\n'+document.getSelection());">

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | document
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик события.

Описание

Об обработчиках событий см. книгу Клиентский JavaScript. Руководство.

height

Высота документа в пикселах.

Свойство из | document
Реализовано в | JavaScript 1.2

См. также

document.width

ids

Создаёт объект Style, который может специфицировать стиль отдельных тэгов HTML.

Свойство из | document
Реализовано в | JavaScript 1.2

Синтаксис

document.ids.idValue

Параметр

idValue

Нечувствительное к регистру значение атрибута ID любого тэга HTML.

Описание

Используйте свойство ids для специфицирования стиля любого тэга HTML, имеющего специфический атрибут ID. Например, Вы можете специфицировать, что цвет NewTopic ID - зелёный. См. в объекте Style описание стилевых свойств, которые Вы можете специфицировать для ids.

Свойство ids используется, когда Вам нужно предоставить исключение для класса, определённого в свойстве document.classes.

Если Вы используете свойство ids внутри тэга STYLE (вместо тэга SCRIPT), Вы можете по выбору исключить document из синтаксиса ids. Свойство ids всегда применяется к текущему объекту document.

Примеры

В этом примере атрибут Main CLASS устанавливается в 18-point bold green, но предоставляет исключение для тэгов, ID которых - NewTopic:

<STYLE TYPE="text/javascript">

   classes.Main.all.color="green"
   classes.Main.all.fontSize="18pt"

   classes.Main.all.fontWeight="bold"
   ids.NewTopic.color="blue"

</STYLE>

Заметьте, что Вы можете опустить указание объекта document в тэге STYLE. В тэге SCRIPT Вы обязаны специфицировать объект document таким образом:

<SCRIPT LANGUAGE="JavaScript1.2">
   document.classes.Main.all.color="green"
   document.classes.Main.all.fontSize="18pt"
   document.classes.Main.all.fontWeight="bold"
   document.ids.NewTopic.color="blue"
</SCRIPT>

В этом примере текст, появляющийся в следующем тэге, будет жирным, зелёным и будет иметь размер 18 пунктов:

<H1 CLASS="Main">Green head</H1>

Но текст в этом тэге будет 18-point bold blue:

<H1 CLASS="Main" ID="NewTopic">Blue head</H1>

См. также

document.classes, document.contextual, document.tags, Style

images

Массив вхождений изображений в документе.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.1

Вы можете обращаться к изображениям в документе, используя массив images. Этот массив содержит вхождение каждого объекта Image (тэг IMG) документа; вхождения идут в порядке исходного кода. Изображения, созданные конструктором Image, не включаются в массив images. Например, если документ содержит три изображения с атрибутами NAME im1, im2 и im3, Вы можете обращаться к этим объектам в массиве images таким образом:

document.images["im1"]
document.images["im2"]
document.images["im3"]

или так:

document.images[0]
document.images[1]
document.images[2]

Для получения количества изображений в документе используйте свойство length: document.images.length.

lastModified

Строка с датой последнего изменения документа.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство lastModified происходит от даты шапки HTTP, высылаемой web-сервером. Серверы обычно получают эту дату, проверяя дату изменения файла.

Дата последнего изменения не является необходимой частью шапки/header, и некоторые серверы её не предоставляют. Если сервер не возвращает информацию о дате последнего изменения, JavaScript получает 0, который отображается как January 1, 1970 GMT. Следующий код проверяет дату, возвращаемую свойством lastModified, и выводит значение, соответствующее неизвестной дате.

lastmod = document.lastModified // получить строку с датой последнего изменения

lastmoddate = Date.parse(lastmod)   // конвертировать модифицированную строку в дату

if(lastmoddate == 0){               // дата не известна (или January 1, 1970 GMT)
   document.writeln("Lastmodified: Unknown")
   } else {
   document.writeln("LastModified: " + lastmod)
}

Пример

Здесь свойство lastModified используется в тэге SCRIPT в конце HTML-файла для отображения даты изменения страницы:

document.write("This page updated on " + document.lastModified)

layers

Это массив, содержащий вхождение для каждого слоя документа.

Свойство из | document
Реализовано в | JavaScript 1.2

Описание

Вы можете обращаться к слоям Вашего документа, используя массив layers. Этот массив содержит вхождение для каждого объекта Layer (тэг LAYER или ILAYER) документа; эти вхождения идут в порядке расположения в исходном коде. Например, если документ содержит три слоя с атрибутами NAME layer1, layer2 и layer3, Вы можете обратиться к этим объектам в массиве layers так:

document.layers["layer1"]
document.layers["layer2"]
document.layers["layer3"]

или так:

document.layers[0]
document.layers[1]
document.layers[2]

При доступе по целочисленному индексу массив элементов идёт в порядке z-order спереди назад, где 0 это самый нижний слой, а более высокие слои индексируются последующими целыми числами. Индекс слоя - не тот же, что его свойство zIndex, так как второе не обязательно перечисляет слои последовательными целыми числами. Смежные слои могут иметь одинаковые значения свойства zIndex.

Вот правильные способы доступа к объектам слоёв:

document.layerName
document.layers[index]
document.layers["layerName"]
// пример использования свойства layers для доступа к вложенным слоям:
document.layers["parentlayer"].layers["childlayer"]

Элементы массива layers это JavaScript-объекты, которые не могут быть установлены операцией присвоения, хотя их свойства - могут. Например, оператор

document.layers[0]="music"

является неправильным (и игнорируется), так как он пытается изменить массив layers. Однако свойства объектов массива можно читать, а некоторые из них можно записывать. Например, оператор

document.layers["suspect1"].left = 100;

является верным. Он устанавливает позицию слоя по горизонтали в 100. В следующем примере цвет фона устанавливается в blue для слоя bluehouse, который вложен в слой houses.

document.layers["houses"].layers["bluehouse"].bgColor="blue";

Для получения количества слоёв документа используйте свойство length: document.layers.length.

linkColor

Строка, специфицирующая цвет гиперссылок документа.

Свойство из | document
Реализовано в | JavaScript 1.0

Описание

Свойство linkColor выражается как 16-ричный RGB-триплет или как строковой литерал (см. книгу Клиентский JavaScript. Руководство). Это свойство является отражением в JavaScript атрибута LINK тэга BODY. Значение по умолчанию этого свойства устанавливается пользователем в диалоговом окне установок браузера. Вы не можете установить это свойство после того как исходный код HTML отображён.

При выражении цвета как 16-ричного RGB-триплета Вы обязаны использовать формат rrggbb. Например, 16-ричные значения RGB для цвета salmon будут red=FA, green=80 и blue=72, поэтому RGB-триплет для salmon будет "FA8072".

Пример

Здесь цвет гиперссылок документа устанавливается в aqua с использованием строкового литерала:

document.linkColor="aqua"

А здесь - с использованием 16-ричного триплета:

document.linkColor="00FFFF"

См. также

document.alinkColor, document.bgColor, document.fgColor, document.vlinkColor

links

Массив объектов, соответствующий объектам Area и Link в порядке вхождения в исходном коде.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство по умолчанию разрушено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Вы можете обращаться к объектам Area и Link в Вашем коде через использование массива links. Этот массив содержит вхождение для каждого объекта Area (тэг <AREA href="./?f=...">) и Link (<A href="./?f=...">) документа в порядке появления в исходном коде. Он также содержит ссылки, созданные методом link. Например, если в документе есть три ссылки, можно обратиться к ним так:

document.links[0]
document.links[1]
document.links[2]

Для получения общего количества ссылок в документе, используйте свойство length: document.links.length.

open

Открывает поток для сбора вывода методов write или writeln.

Метод из | document
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлен параметр "replace"; document.open() или document.open("text/html") очищает текущий документ, если его загрузка закончена.

Синтаксис

open([mimeType, [replace]])

Параметры

mimeType

Строка, специфицирующая тип документа, в который Вы записываете. Если Вы не специфицировали mimeType, по умолчанию он будет text/html.

replace

Строка "replace". Если Вы предоставили этот параметр, mimeType обязан быть "text/html". Вызывает использование новым документом вхождения из history, использованного предыдущим документом.

Описание

Значения для mimeType:

  • text/html специфицирует документ, содержащий ASCII-текст с форматированием HTML.
  • text/plain специфицирует документ, содержащий обычный ASCII-текст с символами конца строки для разграничения отображаемых строк.
  • image/gif специфицирует документ, кодирующий байты, образующие GIF-шарку и пикселные данные.
  • image/jpeg специфицирует документ, кодирующий байты, образующие JPEG-шапку и пикселные данные.
  • image/x-bitmap специфицирует документ, кодирующий байты, образующие битовую шапку и пикселные данные.
  • plugIn загружает специфицированный plug-in и использует его как цель/назначение для методов write и writeln. Например, "x-world/vrml" загружает VR Scout VRML plug-in с Chaco Communications, а "application/x-director" загружает Macromedia Shockwave plug-in. MIME-типы рlug-in'ов верны только тогда, когда пользователь установил требуемое программное обеспечение для plug-in'а.

Метод open открывает поток для сбора вывода методов write или writeln. Если mimeType это text или image, поток открывается для вывода; иначе поток открывается для plug-in'а. Если документ существует в целевом окне, метод open очищает его.

Поток закрывается путём использования метода document.close. Метод close вызывает отображение текста или изображений, которые были посланы для вывода. После использования document.close вызовите document.open ещё раз, если Вам нужно начать другой поток вывода.

В JavaScript 1.1 или позднее document.open или document.open("text/html") очищает текущий документ, если он закончил загрузку. Поэтому этот тип вызова open записывает по умолчанию тэг <BASE HREF=>, так что Вы можете генерировать относительные URL на основе базы документа, генерирующего скрипт.

Ключевое слово "replace" вызывает повторное использование новым документом вхождения в history, использованного предыдущим документом. Если Вы специфицируете "replace" при открытии документа, размер истории/history не увеличивается, даже если Вы записали в окно и закрыли его.

"replace" обычно используется в окне, в котором находится пустой документ или документ с URL "about:blank". После специфицирования "replace" метод write обычно генерирует HTML для окна, замещая вхождение в history для пустого URL. Будьте внимательны при использовании генерируемого HTML в окне с пустым/blank URL. Если Вы не специфицируете "replace", генерируемый HTML имеет своё собственное вхождение в history, и пользователь может, нажав кнопку Back, вернуться в пустой фрэйм.

После выполнения document.open("text/html","replace") history.current для целевого окна будет URL документа, который выполнил document.open.

Примеры

Пример 1. Здесь функция вызывает document.open для открытия потока перед использованием метода write:

function windowWriter1() {
   var myString = "Hello, world!"

   msgWindow.document.open()
   msgWindow.document.write("<P>" + myString)
   msgWindow.document.close()
}

Пример 2. Эта функция вызывает document.open с ключевым словом "replace" для открытия потока перед использованием методов write. Код HTML в методах write записывается в msgWindow, замещая текущее вхождение в history. Размер истории/history окна msgWindow не увеличивается.

function windowWriter2() {
   var myString = "Hello, world!"

   msgWindow.document.open("text/html","replace")

   msgWindow.document.write("<P>" + myString)
   msgWindow.document.write("<P>history.length is " +
      msgWindow.history.length)
   msgWindow.document.close()

}

Следующий код создаёт окно msgWindow и вызывает функцию:

msgWindow=window.open('','',

   'toolbar=yes,scrollbars=yes,width=400,height=300')
windowWriter2()

Пример 3. Здесь функция probePlugIn определяет, имеется ли у пользователя установленный Shockwave plug-in:

function probePlugIn(mimeType) {
   var havePlugIn = false

   var tiny = window.open("", "teensy", "width=1,height=1")

   if (tiny != null) {
      if
(tiny.document.open(mimeType) != null)
         havePlugIn = true

      tiny.close()
   }

   return havePlugIn
}
var haveShockwavePlugIn = probePlugIn("application/x-director")

См. также

document.close, document.write, document.writeln, Location.reload, Location.replace

plugins

Массив объектов, соответствующих объектам Plugin в порядке расположения в исходном коде.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.1

Вы можете обращаться к объектам Plugin в исходном коде, используя массив plugins. Этот массив содержит вхождение для каждого объекта Plugin документа в порядке расположения в исходном коде. Например, если в документе имеются три plugin'а, Вы можете обратиться к ним так:

document.plugins[0]
document.plugins[1]
document.plugins[2]

referrer

Специфицирует URL вызывающего документа, когда пользователь щёлкает по ссылке.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство по умолчанию разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Когда пользователь переходит к другому документу, щёлкая объект Link в исходном документе, свойство referrer содержит URL исходного документа.

referrer является пустым, если пользователь ввёл URL в окне Location браузера и использовал какой-нибудь иной способ получения текущего URL. referrer является пустым также, если сервер не предоставляет информации о переменной окружения.

Пример

Здесь функция getReferrer вызывается из документа назначения. Она возвращает URL исходного документа.

function getReferrer() {
   return document.referrer
}

releaseEvents

Заставляет документ освободить захваченные события специфицированного типа, отсылая события объектам, следующим далее по иерархии событий.

Метод из | document
Реализован в | JavaScript 1.2

ПРИМЕЧАНИЕ: Если целевым оригиналом события является окно, оно получает событие, даже если окно установлено для освобождения этого типа событий.

Синтаксис

releaseEvents(eventType)

Параметры

eventType

Тип захватываемого события.

Описание

releaseEvents работает вместе с captureEvents, routeEvent и handleEvent. О событиях см. дополнительно книгу Клиентский JavaScript. Руководство.

routeEvent

Передаёт захваченное событие по нормальной иерархии событий.

Метод из | document
Реализован в | JavaScript 1.2

Синтаксис

routeEvent(event)

Параметры

event

Имя перенаправляемого события.

Описание

Если субобъект (document или layer) также захватывает событие, событие пересылается этому объекту. Иначе оно высылается оригинальному целевому объекту.

routeEvent работает вместе с captureEvents, releaseEvents и handleEvent. О событиях см. дополнительно книгу Клиентский JavaScript. Руководство.

tags

Создаёт объект Style, который может специфицировать стили HTML-тэгов.

Свойство из | document
Реализовано в | JavaScript 1.2

Синтаксис

document.tags.tagName

Параметры

tagName

Нечувствительное у регистру имя любого тэга HTML, такого как H1 или BLOCKQUOTE.

Описание

Используйте свойство tags для специфицирования стиля HTML-тэгов. Например, Вы можете специфицировать, что цвет любого тэга H1 будет blue и что выравнивание тэгов H1 или H2 будет по центру. См. в объекте Style описание свойств, которые Вы можете специфицировать для тэгов HTML.

Поскольку все элементы HTML наследуют от тэга BODY, Вы можете специфицировать стиль по умолчанию документа, установив стили тэга BODY.

Если Вы используете свойство tags внутри тэга STYLE (а не внутри тэга SCRIPT), Вы можете по выбору опустить document в синтаксисе tags. Свойство tags всегда применяется к текущему объекту document.

Примеры

Пример 1. Цвет всех тэгов H1 устанавливается в blue:

<STYLE TYPE="text/javascript">
   tags.H1.color="blue"
</STYLE>

Обратите внимание, что Вы можете опустить указание объекта document в тэге STYLE. Внутри тэга SCRIPT Вы обязаны специфицировать объект document таким образом:

<SCRIPT LANGUAGE="JavaScript1.2">
   document.tags.H1.color="blue"
</SCRIPT>

Пример 2. Устанавливается универсальное левое поле документа:

document.tags.Body.marginLeft="20pt"

Поскольку все тэги HTML наследуют от BODY, этот пример устанавливает левое поле для всего документа в 20 пунктов.

См. также

document.classes, document.contextual, document.ids, Style

title

Строка, представляющая название документа.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство по умолчанию разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство title является отражением значения, специфицируемого между начальным и конечным тэгами TITLE. Если документ не имеет названия/title, свойство title будет null.

Пример

Здесь значение свойства title присваивается переменной docTitle:

var newWindow = window.open("http://home.netscape.com")
var docTitle = newWindow.document.title

URL

Строка, специфицирующая полный URL документа.

Свойство из | document
Только для чтения
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство по умолчанию разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

URL это свойство со строковым значением, содержащее полный URL документа. Оно обычно совпадает с тем, что установлено в свойстве window.location.href при загрузке документа, но перенаправление может изменить location.href.

Пример

Выводится URL текущего документа:

document.write("The current URL is " + document.URL)

См. также

Location.href

vlinkColor

Строка, специфицирующая цвет посещённых гиперссылок.

Свойство из | document
Реализовано в | JavaScript 1.0

Описание

Свойство vlinkColor выражается как 16-ричный RGB-триплет или как строковой литерал (см. книгу Клиентский JavaScript. Руководство). это свойство является отражением в JavaScript атрибута VLINK тэга BODY. Значение по умолчанию этого свойства устанавливается пользователем в диалоге настроек браузера. Вы не можете установить это свойство после того как исходный HTML отображён.

Если цвет выражается как 16-ричный триплет RGB, Вы обязаны использовать формат rrggbb. Например, 16-ричные RGB-значения для цвета salmon будут red=FA, green=80 и blue=72, так что RGB-триплет для salmon будет "FA8072".

Примеры

Здесь цвет посещённых ссылок устанавливается в aqua с использованием строкового литерала:

document.vlinkColor="aqua"

А здесь - с помощью 16-ричного триплета:

document.vlinkColor="00FFFF"

См. также

document.alinkColor, document.bgColor, document.fgColor, document.linkColor

width

Ширина документа в пикселах.

Свойство из | document
Реализовано в | JavaScript 1.2

См. также

document.height

write

Записывает одно или более выражений HTML в документ специфицированного окна.

Метод из | document
Реализован в | JavaScript 1.0

Синтаксис

document.write(expr1[, ...,exprN])

Параметры

expr1, ... exprN

Любые выражения JavaScript.

Описание

Метод write отображает любое количество выражений в документе окна. Вы можете специфицировать любое выражение JavaScript методом write, включая числовые, строки или логические выражения.

Метод write это такой же метод, что и writeln, за исключением того, что метод write не присоединяет символ новой строки в конец вывода.

Используйте метод write внутри тэгов SCRIPT или в обработчиках событий. Обработчики событий выполняются после закрытия оригинального документа, поэтому метод write неявно открывает новый документ с типом mimeType text/html, если Вы не вызываете явно метод document.open в обработчике события.

Можно использовать метод write для генерации HTML и кода JavaScript. Однако разборщик HTML читает генерируемый код так, как он написан, поэтому Вам может понадобиться использовать escape-кодирование некоторых символов. Например, следующий метод write генерирует комментарий и записывает его в окно window2:

window2=window.open('','window2')
beginComment="\<!--"

endComment="--\>"
window2.document.write(beginComment)
window2.document.write(" Это текст комментария. ")
window2.document.write(endComment)

Печать, сохранение и просмотр сгенерированного HTML. В браузере Navigator 3.0 и позже пользователи могут печатать и сохранять генерируемый HTML, используя команды из меню File.

Если Вы используете Page Source из меню View в Navigator или View Frame Source после щелчка правой кнопкой мыши и открытия дополнительного меню, web-браузер отображает содержимое HTML-файла со сгенерированным HTML.

Если Вам нужно просмотреть исходный код HTML с кодом скриптов, генерирующих HTML (методами document.write и document.writeln), не используйте пункты меню Page Source или View Frame Source. Здесь нужно ввести view-source: протокол.

Например, предположим, что файл file://c|/test.html содержит такой текст:

<HTML>
<BODY>
Hello,

<SCRIPT>document.write(" there.")</SCRIPT>
</BODY>
</HTML>

Если загрузить этот URL в web-браузер, он отобразит:

Hello, there.

Если выбрать View Document Source, браузер отобразит:

<HTML>
<BODY>
Hello,
 there.
</BODY>

</HTML>

Если загрузить view-source:file://c|/test.html, браузер отобразит:

<HTML>
<BODY>
Hello,

<SCRIPT>document.write(" there.")</SCRIPT>
</BODY>
</HTML>

О специфицировании view-source: protocol в объекте location см. объект Location.

Примеры

Здесь метод write принимает несколько аргументов, в том числе строки, числа и переменную:

var mystery = "world"

// Выводится Hello world testing 123

msgWindow.document.write("Hello ", mystery, " testing ", 123)

В следующем примере метод write принимает два аргумента. Первый - это выражение присвоения, а второй - строковой литерал.

//Выводится Hello world...
msgWindow.document.write
(mystr = "Hello ", "world...")

В следующем примере метод write принимает единственный аргумент, который является условным выражением. Если значение переменной age будет меньше 18, метод выведет "Minor." Если значение age будет больше или равно 18, метод выведет "Adult."

msgWindow.document.write(status = (age >= 18) ? "Adult" : "Minor")

См. также

document.close, document.open, document.writeln

writeln

Записывает одно или более выражений HTML в документ в специфицированном окне с последующим символом новой строки.

Метод из | document
Реализован в | JavaScript 1.0

Синтаксис

writeln(expr1[, ... exprN])

Параметры

expr1, ... exprN

Любые выражения JavaScript.

Описание

Метод writeln выводит любое количество выражений в документ окна. Вы можете специфицировать любое выражение JavaScript, включая числа, строки или логические выражения.

Метод writeln это тот же метод, что и write, за исключением того, что метод writeln присоединяет символы новой строки в конец вывода. HTML игнорирует символы новой строки, за исключением некоторых тэгов, таких как PRE.

Используйте метод writeln внутри тэгов SCRIPT или в обработчике событий. Обработчики событий выполняются после закрытия оригинального документа, поэтому метод writeln будет неявно открывать новый документ типа mimeType text/html, если Вы не вызываете явно метод document.open в обработчике события.

В Navigator 3.0 и позднее пользователи могут печатать и сохранять сгенерированный HTML, используя команды меню File браузера.

Примеры

Все пример для метода write верны также и для метода writeln.

См. также

document.close, document.open, document.write

§ ← → У


event

Объект event содержит свойства, которые описывают JavaScript-событие и передаются в качестве аргументов обработчику события при возникновении события.

Клиентский объект |
Реализован в | JavaScript 1.2

При возникновении, например, события mouse-down, объект event содержит тип события (в данном случае - MouseDown), координаты x и y курсора в момент возникновения события и число, представляющее нажатую клавишу мыши, и поле, содержащее ключи-модификаторы (Control, Alt, Meta или Shift), который были нажаты в момент события. Свойства, используемые в объекте event, различаются для разных событий. Эти различия указаны при описании конкретных обработчиков событий.

См. в Главе 3 "Обработчики Событий" полную информацию по обработчикам событий. Дополнительно см. книгу Клиентский JavaScript. Руководство.

Создание

event -объекты создаются Communicator'ом при возникновении события. Сами Вы их не создаёте.

Безопасность

Установка любого свойства этого объекта требует привилегии UniversalBrowserWrite. Помимо этого получение свойства data события DragDrop требует привилегии UniversalBrowserRead. О безопасности см. книгу Клиентский JavaScript. Руководство.

Свойства. Резюме.

Не все свойства относятся к каждому типу события. Для изучения свойств, используемых событиями, см. разделы "События, используемые объектом еvent" конкретных обработчиков событий.

Свойство Описание
data

Возвращает массив строк, содержащий URL'ы отпущенных объектов. Передаётся событием DragDrop.

height

Высота окна или фрэйма.

layerX

Число, специфицирующее ширину объекта при передаче с событием resize, либо горизонтальную координату курсора в пикселах относительно слоя, в котором событие возникло. Заметьте, что layerX является синонимом x.

layerY

Число, специфицирующее высоту объекта при передаче с событием resize либо вертикальную координату курсора в пикселах относительно слоя, в котором событие возникло. Заметьте, что layerY является синонимом y.

modifiers

Строка, специфицирующая ключи-модификаторы, ассоциированные с событием мыши или клавиатуры. Ключи-модификаторы это: ALT_MASK, CONTROL_MASK, SHIFT_MASK и META_MASK.

pageX

Число, специфицирующее позицию курсора по горизонтали в пикселах относительно страницы.

pageY

Число, специфицирующее позицию курсора по вертикали в пикселах относительно страницы.

screenX

Число, специфицирующее позицию курсора по горизонтали в пикселах относительно экрана.

screenY

Число, специфицирующее позицию курсора по вертикали в пикселах относительно экрана.

target

Строка, представляющая объект, которому событие было первоначально направлено. (Все события.)

type

Строка, представляющая тип события. (Все события.)

which

Число, специфицирующее нажатую кнопку, или ASCII-значение нажатой клавиши. Для мыши: 1 это левая клавиша, 2 - средняя, а 3 - правая клавиша.

width

Ширина окна или фрэйма.

x

Синоним для layerX.

y

Синоним для layerY.

Методы. Резюме.

Этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Этот пример использует объект event для предоставления типа события в предупреждающем сообщении.

<A href="http://home.netscape.com" onClick='alert("Link got an event: "

+ event.type)'>Click for link event</A>

В следующем примере объект event используется в явно вызываемом обработчике события.

<SCRIPT>
function fun1(evnt) {
   alert ("Document got
an event: " + evnt.type);
   alert ("x position is " + evnt.layerX);

   alert ("y position is " + evnt.layerY);
   if (evnt.modifiers & Event.ALT_MASK)

      alert ("Alt key was down for event.");

   return true;
   }
document.onmousedown = fun1;
</SCRIPT>

data

Для события DragDrop возвращает массив строк, содержащий URL'ы отпускаемых объектов.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. Кроме того, получение этого свойства для события DragDrop требует привилегии UniversalBrowserRead. О безопасности см. книгу Клиентский JavaScript. Руководство.

height

Высота окна или фрэйма.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.width

layerX

Число, специфицирующее ширину объекта при передаче с событием resize либо горизонтальную позицию курсора в пикселах относительно слоя, в котором возникло событие.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Это свойство является синонимом свойства event.x.

См. также

event.layerY

layerY

Число, специфицирующее высоту объекта при передаче с событием resize либо вертикальную позицию курсора в пикселах относительно слоя, в котором возникло событие.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Это свойство является синонимом свойства event.y.

См. также

event.layerX

modifiers

Строка, специфицирующая ключи-модификаторы, ассоциированные с событием мыши или клавиатуры. Значения ключей-модификаторов: ALT_MASK, CONTROL_MASK, SHIFT_MASK и META_MASK.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.which

pageX

Число, специфицирующее горизонтальную позицию курсора в пикселах относительно страницы.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.pageY

pageY

Число, специфицирующее вертикальную позицию курсора в пикселах относительно страницы.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.pageX

screenX

Число, специфицирующее горизонтальную позицию курсора в пикселах относительно экрана.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.screenY

screenY

Число, специфицирующее вертикальную позицию курсора в пикселах относительно экрана.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.screenX

target

Строка, представляющая объект, которому событие было первоначально отправлено.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.type

type

Строка, представляющая тип события.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.target

which

Число, специфицирующее нажатую клавишу мыши или ASCII-значение нажатой клавиши клавиатуры. Для мыши: 1 это левая клавиша, 2 - средняя, а 3 - правая.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.modifiers

width

Ширина окна или фрэйма.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

event.height

x

Число, специфицирующее ширину объекта при передаче с событием resize либо горизонтальную позицию курсора в пикселах относительно слоя, в котором событие возникло.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Это свойство является синонимом свойства event.layerX.

См. также

event.y

y

Синоним layerY.

Свойство из | event
Реализовано в | JavaScript 1.2

Безопасность

Установка этого свойства требует привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Это свойство является синонимом свойства event.layerY.

См. также

event.x
§ ← → У


FileUpload

Загружаемый файл - элемент формы HTML. Элемент загрузки файла позволяет пользователю предоставлять файл в качестве ввода.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type. JavaScript 1.2: добавлен метод handleEvent.

Создание

Тэг HTML INPUT с "file" в качестве значения атрибута TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты FileUpload и помещает эти объекты в массив elements соответствующего объекта Form. Вы получаете доступ к объекту FileUpload по индексу в этом массиве. Вы можете индексировать массив числами или (если имеются) по значениям атрибутов NAME.

Обработчики Событий

  • onBlur
  • onChange
  • onFocus

Описание

Объект FileUpload на форме выглядит так:

Объект FileUpload это элемент формы и обязан быть определён внутри тэга FORM.

Свойства. Резюме.

Свойство Описание

form

Специфицирует форму, содержащую объект FileUpload.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает текущее значение поля элемента загрузки файла; соответствует имени загружаемого файла.

Методы. Резюме.

Метод Описание
blur

Убирает фокус с объекта.

focus

Передаёт фокус объекту.

handleEvent

Вызывает обработчик для специфицированного события.

select

Выбирает область ввода поля загрузки файла.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Пример

Здесь объект FileUpload помещается на форме и предоставляются две кнопки, которые дают возможность отобразить текущие значения свойств name и value.

<FORM NAME="form1">
File to send: <INPUT TYPE="file"
NAME="myUploadObject">
<P>Get properties<BR>
<INPUT TYPE="button" VALUE="name"

   onClick="alert('name: ' + document.form1.myUploadObject.name)">

<INPUT TYPE="button" VALUE="value"
   onClick="alert('value: '
+ document.form1.myUploadObject.value)"><BR>
</FORM>

См. также

Text

blur

Убирает фокус с объекта.

Метод из | FileUpload
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

См. также

FileUpload.focus, FileUpload.select

focus

Переходит к полю FileUpload и передаёт ему фокус.

Метод из | FileUpload
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

См. также

FileUpload.blur, FileUpload.select

form

Ссылка объекта, специфицирующая форму, содержащую объект.

Свойство из | FileUpload
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в обработчиках событий, где Вам может понадобиться обратиться к другому элементу текущей формы.

handleEvent

Вызывает обработчик для специфицированного события.

Синтаксис

handleEvent(event)
Метод из | FileUpload
Реализован в | JavaScript 1.2

Параметры

event

Имя события, для которого объект имеет обработчик.

Описание

Об обработке событий см. книгу Клиентский JavaScript. Руководство.

name

Строка - имя объекта.

Свойство из | FileUpload
Только для чтения |
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Свойство name не отображается на экране; оно используется для обращения к объектам программно.

Если несколько объектов на одной форме имеют одинаковые значения атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный объект формы. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент FileUpload на одной форме имеют значения атрибута NAME "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать об этой ситуации и о том, ссылается myField на единственный элемент или на массив элементов.

Примеры

В этом примере функция valueGetter использует цикл for для итерации по массиву элементов на форме valueTest. Окно msgWindow отображает имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")

   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {

      msgWindow.document.write(newWindow.document.valueTest.elements[i].name
+ "<BR>")
   }
}

select

Выделяет область ввода поля загрузки файла.

Метод из | FileUpload
Реализован в | JavaScript 1.0

Синтаксис

select()

Параметры

Отсутствуют.

Описание

Используйте метод select для выделения области ввода поля загрузки файла. Вы можете использовать метод select с методом focus для выделения поля и позиционирования курсора и замены всего текста поля.

См. также

FileUpload.blur, FileUpload.focus

type

Для всех объектов FileUpload значение свойства type будет "file". Это свойство специфицирует тип элементов формы.

Свойство из | FileUpload
Только для чтения |
Реализовано в | JavaScript 1.1

Примеры

Здесь записывается значение свойства type для каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {

   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, отражающая значение атрибута VALUE объекта.

Свойство из | FileUpload
Только для чтения |
Реализовано в | JavaScript 1.0

Безопасность

Установка экземпляра загрузки файла требует привилегии UniversalFileRead. О безопасности см. книгу Клиентский JavaScript. Руководство.

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Используйте свойство value для получения имени файла, которое пользователь печатает в объекте FileUpload.


Form

Даёт пользователю возможность вводить текст и делать выбор из Form -элементов, таких как переключатели/checkboxes, радио-кнопки и списки выбора. Вы можете также использовать форму для отправки данных на сервер.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлен метод reset. JavaScript 1.2: добавлен метод handleEvent.

Создание

Тэгом HTML FORM. Машина выполнения JavaScript создаёт объект Form для каждого тэга FORM документа. Вы получаете доступ к объектам FORM через свойство document.forms и через именованные свойства этих объектов.

Для определения формы используйте стандартный синтаксис HTML с добавлением обработчиков событий JavaScript. Если Вы предоставляете значение атрибута NAME, Вы можете использовать это значение для индексирования в массиве forms. Кроме того, ассоциированный объект document имеет именованное свойство для каждой именованной формы.

Обработчики событий

  • onReset
  • onSubmit

Описание

Каждая форма в документе является отдельным объектом. Вы можете обратиться к элементам формы в Вашем коде с помощью имени элемента (из атрибута NAME) или в массиве Form.elements. Массив elements содержит вхождение для каждого элемента (такого как объекты Checkbox, Radio или Text) формы.

Если несколько объектов на одной форме имеют одинаковые значения атрибута NAME, массив с данным именем создаётся автоматически. Каждый элемент этого массива представляет отдельный объект Form. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент Textarea на одной форме имеют атрибуты NAME, установленные в "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать о такой ситуации в Вашем коде и знать, ссылается ли myField на единственный элемент или на массив элементов.

Свойства. Резюме.

Свойство Описание
action

Отражает атрибут ACTION.

elements

Массив, отражающий все элементы формы.

encoding

Отражает атрибут ENCTYPE.

length

Отражает количество элементов формы.

method

Отражает атрибут METHOD.

name

Отражает атрибут NAME.

target

Отражает атрибут TARGET.

Метод. Резюме.

Метод Описание

handleEvent

Вызывает обработчик для специфицированного события.

reset

Симулирует щелчок мыши по кнопке reset.

submit

Отправляет форму на сервер.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1: Именованная форма. Создаётся форма myForm, содержащая текстовые поля для имени и фамилии. Форма содержит также две кнопки, переводящие все буквы в верхний или в нижний регистр. Функция setCase показывает, как обратиться к форме по её имени.

<HTML>
<HEAD>
<TITLE>Form object example</TITLE>

</HEAD>
<SCRIPT>
function setCase (caseSpec){
if (caseSpec == "upper") {

   document.myForm.firstName.value=document.myForm.firstName.value.toUpperCase()

   document.myForm.lastName.value=document.myForm.lastName.value.toUpperCase()}

else {
   document.myForm.firstName.value=document.myForm.firstName.value.toLowerCase()

   document.myForm.lastName.value=document.myForm.lastName.value.toLowerCase()}
}

</SCRIPT>
<BODY>
<FORM NAME="myForm">

<B>First name:</B>
<INPUT TYPE="text" NAME="firstName" SIZE=20>

<BR><B>Last name:</B>
<INPUT TYPE="text" NAME="lastName" SIZE=20>

<P><INPUT TYPE="button" VALUE="Names to uppercase" NAME="upperButton"

   onClick="setCase('upper')">
<INPUT TYPE="button" VALUE="Names to
lowercase" NAME="lowerButton"
   onClick="setCase('lower')">
</FORM>

</BODY>
</HTML>

Пример 2: Массив forms. Обработчик события onLoad в этом примере отображает имя первой формы в диалоговом окне Alert.

<BODY onLoad="alert('You are looking at the ' + document.forms[0] + ' form!')">

Если имя формы - musicType, диалог выведет следующее сообщение:

You are looking at the <object musicType> form!

Пример 3: Обработчик события onSubmit. В этом примере показано, как обработчик события onSubmit определяет, отправлять ли форму. Форма содержит один объект Text, где пользователь вводит три символа. onSubmit вызывает функцию checkData, которая возвращает true, если введены три символа; иначе она возвращает false. Заметьте, что обработчик onSubmit формы, а не обработчик кнопки submit onClick, вызывает функцию checkData. Также обработчик onSubmit содержит оператор return, возвращающий значение, полученное вызовом этой функции; это предотвращает отправку формы, если специфицированы неверные данные. См. также onSubmit.

<HTML>
<HEAD>
<TITLE>Form object/onSubmit event
handler example</TITLE>
<TITLE>Form object example</TITLE>
</HEAD>

<SCRIPT>
var dataOK=false
function checkData (){
if (document.myForm.threeChar.value.length
== 3) {
   return true}
   else {

      alert("Enter exactly three characters. " +
document.myForm.threeChar.value +
         " is not valid.")

      return false}
}
</SCRIPT>
<BODY>

<FORM NAME="myForm" onSubmit="return checkData()">
<B>Enter 3 characters:</B>

<INPUT TYPE="text" NAME="threeChar" SIZE=3>
<P><INPUT TYPE="submit" VALUE="Done"
NAME="submit1"
onClick="document.myForm.threeChar.value=document.myForm.threeChar.value.toUpperCase()">

</FORM>
</BODY>
</HTML>

Пример 4: Метод submit. Этот пример похож на предыдущий, за исключением того, что он отправляет форму с использованием метода submit вместо объекта Submit. Обработчик onSubmit формы не предотвращает отправку формы. Форма использует обработчик onClick кнопки для вызова функции checkData. Если значение верно, функция checkData отправляет форму, вызывая метод submit формы.

<HTML>
<HEAD>
<TITLE>Form object/submit method
example</TITLE>
</HEAD>
<SCRIPT>
var dataOK=false
function checkData (){

if (document.myForm.threeChar.value.length == 3) {
   document.myForm.submit()}

   else {
      alert("Enter exactly three characters.
" + document.myForm.threeChar.value +
         " is not
valid.")
      return false}
}
</SCRIPT>
<BODY>

<FORM NAME="myForm" onSubmit="alert('Form is being submitted.')">
<B>Enter
3 characters:</B>
<INPUT TYPE="text" NAME="threeChar" SIZE=3>

<P><INPUT TYPE="button" VALUE="Done" NAME="button1"
   onClick="checkData()">

</FORM>
</BODY>
</HTML>

См. также

Button, Checkbox, FileUpload, Hidden, Password, Radio, Reset, Select, Submit, Text, Textarea.

action

Строка, специфицирующая URL назначения для отправляемых данных формы.
Свойство из | Form
Реализовано в | JavaScript 1.0

Безопасность

Отправка формы по URL mailto: или news: требует привилегии UniversalSendMail. О безопасности см. книгу Клиентский JavaScript. Руководство.

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство action является отражением атрибута ACTION тэга FORM. Каждый раздел URL содержит свою информацию. См. в Location описание компонентов URL.

Пример

Здесь в свойство action формы musicForm устанавливается значение переменной urlName:

document.musicForm.action=urlName

См. также

Form.encoding, Form.method, Form.target

elements

Массив объектов, соответствующих элементам формы (таким как объекты checkbox, radio и Text) в порядке расположения в исходном коде.

Свойство из | Form
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Вы можете обратиться к элементам формы в коде путём использования массива elements. Этот массив содержит вхождение для каждого объекта (Button, Checkbox, FileUpload, Hidden, Password, Radio, Reset, Select, Submit, Text или Textarea) формы в порядке расположения в исходном коде. Каждая радио-кнопка в объекте Radio появляется как отдельный элемент массива elements. Например, если форма myForm содержит текстовое поле и два переключателя, Вы можете обратиться к этим элементам как myForm.elements[0], myForm.elements[1] и myForm.elements[2].

Хотя Вы можете также обратиться к элементам формы по их именам (их атрибута NAME), массив elements предоставляет способ для обращения к объектам Form программно без использования их имён. Например, если первый объект формы userInfo является Text-объектом userName, Вы можете вычислить его одним из следующих способов:

userInfo.userName.value
userInfo.elements[0].value

Значение каждого элемента в массиве elements будет полным оператором HTML для этого объекта.

Для получения количества элементов формы используйте свойство length: myForm.elements.length.

Примеры

См. примеры для объекта window.

encoding

Строка, специфицирующая MIME-кодирование формы.

Свойство из | Form
Реализовано в | JavaScript 1.0

Описание

Свойство encoding первоначально отражает атрибут ENCTYPE тэга FORM; однако установка свойства encoding переопределяет атрибут ENCTYPE.

Пример

Эта функция возвращает значение свойства encoding формы musicForm:

function getEncoding() {
   return document.musicForm.encoding
}

См. также

Form.action, Form.method, Form.target

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Form
Реализовано в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик.

Описание

Об обработке событий см. книгу Клиентский JavaScript. Руководство.

length

Количество элементов формы.

Свойство из | Form
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Свойство form.length сообщает, сколько элементов имеется в форме. Вы можете получить ту же самую информацию с помощью form.elements.length.

method

Строка, специфицирующая, как информация полей формы отправляется на сервер.

Свойство из | Form
Реализовано в | JavaScript 1.0

Описание

Свойство method является отражением атрибута METHOD тэга FORM. Свойство method должно вычисляться в "get" или "post".

Примеры

Эта функция возвращает значение свойства method формы musicForm:

function getMethod() {
   return document.musicForm.method
}

См. также

Form.action, Form.encoding, Form.target

name

Строка, специфицирующая имя формы.

Свойство из | Form
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку.

Пример

Функция valueGetter использует цикл for для итерации по массиву элементов формы valueTest. В окне msgWindow отображаются имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")

   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {

      msgWindow.document.write(newWindow.document.valueTest.elements[i].name
+ "<BR>")
   }
}

reset

Симулирует щелчок мыши по кнопке reset для вызывающей формы.

Метод из | Form
Реализован в | JavaScript 1.1

Синтаксис

reset()

Параметры

Отсутствуют.

Описание

Метод reset восстанавливает значения по умолчанию элементов формы. Кнопка reset не обязательно должна быть определена в форме.

Пример

Отображается объект Text, в котором пользователь печатает "CA" или "AZ". Обработчик события объекта Text onChange вызывает функцию, которая выполняет метод reset формы, если пользователь делает неверный ввод. Если метод reset выполняется, восстанавливаются значения по умолчанию, и обработчик onReset формы выводит сообщение.

<SCRIPT>
function verifyInput(textObject) {

   if (textObject.value == 'CA' || textObject.value == 'AZ') {

      alert('Nice input')
   }

   else { document.myForm.reset() }
}
</SCRIPT>
<FORM NAME="myForm" onReset="alert('Please enter CA or AZ.')">

Enter CA or AZ:
<INPUT TYPE="text" NAME="state" SIZE="2" onChange=verifyInput(this)><P>

</FORM>

См. также

onReset, Reset

submit

Отправляет форму.

Метод из | Form
Реализован в | JavaScript 1.0

Синтаксис

submit()

Параметры

Отсутствуют.

Безопасность

Отправка по URL mailto: или news: требует привилегии UniversalSendMail. О безопасности см. книгу Клиентский JavaScript. Руководство.

JavaScript 1.1: метод submit терпит неудачу без вывода сообщения об этом, если action формы это URL mailto:, news: или snews:. Пользователи могут отправлять формы с такими URL, щелкнув по кнопке submit, но диалог сообщит им, что отправляемая информация может быть закрытой или секретной.

Описание

Метод submit отправляет специфицированную форму. Он выполняет те же действия, что и кнопка submit.

Используйте метод submit для отправки данных обратно на HTTP-сервер. Метод submit возвращает данные с использованием метода get" или "post," как специфицировано в Form.method.

Примеры

Здесь отправляется форма musicChoice:

document.musicChoice.submit()

Если musicChoice это первая созданная форма, Вы можете также отправить её так:

document.forms[0].submit()

См. также пример для Form.

См. также

Submit, onSubmit

target

Строка, специфицирующая имя окна, которому отправляются ответы после отправки формы.

Свойство из | Form
Реализовано в | JavaScript 1.0

Описание

Свойство target первоначально отражает атрибут TARGET тэгов A, AREA и FORM; однако установка target переопределяет этот атрибут.

Вы можете установить target путём использования строки, если эта строка содержит имя окна. Свойству target не может быть присвоено значение выражения или переменной JavaScript.

Пример

Здесь специфицируется, что ответы форме musicInfo отображаются в окне msgWindow:

document.musicInfo.target="msgWindow"

См. также

Form.action, Form.encoding, Form.method

§ ← → У


Frame

В одном окне на экране монитора может отображаться несколько независимых прокручиваемых frames\фрэймов\кадров, каждый из которых имеет свой собственный URL. Эти фрэймы создаются через использование тэгов FRAME внутри тэга FRAMESET. Серия фрэймов образует страницу. Каждый фрэйм может указывать на разные URL и может быть целью для других URL на этой же странице.

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

См. в разделе window полную информацию о фрэймах.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлены методы blur и focus; добавлены обработчики событий onBlur и onFocus.


Function

Специфицирует строку JavaScript-кода, компилируемую как функция.

Объект ядра
Реализован в | JavaScript 1.1, NES 2.0 JavaScript 1.2: добавлены свойства arity, arguments.callee; добавлена возможность вложения функций. JavaScript 1.3: добавлены методы apply, call и toSource; не рекомендуется использовать свойство arguments.caller.
Версия ECMA | ECMA-262

Создание

Конструктор Function:

new Function ([arg1[, arg2[, ... argN]],] functionBody)

Оператор function (см. "function"):

function name([param[, param[, ... param]]]) {
   statements
}

Параметры

arg1, arg2, ... argN

Имена, используемые функцией в качестве имён формальных аргументов. Каждое имя обязано быть строкой, соответствующей верному JavaScript-идентификатору; например, "x" или "theValue".

functionBody

Строка операторов JavaScript, образующих определение функции.

name

Имя функции.

param

Имя аргумента, передаваемого функции. Функция может иметь до 255 аргументов.

statements

Операторы, образующие тело функции.

Описание

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

Чтобы возвращать значение, функция обязана иметь оператор return, который специфицирует возвращаемое значение.

Все параметры передаются функции по значению; значение передаётся функции, но если функция изменяет значение параметра, это изменение не отражается глобально или в вызывающей функции. Однако, если Вы передаёте функции объект в качестве параметра и функция изменяет свойства объекта, эти изменения видны вне функции, как показано в следующем примере:

function myFunc(theObject) {
   theObject.make="Toyota"
}

mycar = {make:"Honda", model:"Accord", year:1998}
x=mycar.make     // возвращает
Honda
myFunc(mycar)    // передаёт объект mycar функции

y=mycar.make     // возвращает Toyota (prop было изменено функцией)

Ключевое слово this не ссылается на выполняемую в данный момент функцию, поэтому Вы обязаны обращаться к Function-объектам по имени, даже в теле функции.

Доступ к аргументам функции через массив arguments. Вы можете обращаться в функции к аргументам функции, используя массив arguments. См. arguments.

Специфицирование аргументов в конструкторе Function. Следующий код создаёт Function-объект, принимающий два аргумента:

var multiply = new Function("x", "y", "return x * y")

Аргументы "x" и "y" являются формальными именами аргументов, которые используются в теле функции, "return x * y".

Предыдущий код присваивает функцию переменной multiply. Для вызова Function-объекта Вы можете специфицировать имя переменной, как если бы она была функцией, как показано далее в примерах:

var theAnswer = multiply(7,6)
var myAge = 50
if (myAge >=39) {myAge=multiply (myAge,.5)}

Присвоение функции переменной конструктором Function. Предположим, Вы создаёте переменную multiply с использованием конструктора Function, как показано в предыдущем разделе:

var multiply = new Function("x", "y", "return x * y")

Это похоже на следующее объявление функции:

function multiply(x,y) {
   return x*y
}

Присвоение функции переменной с использованием конструктора Function похоже на объявление функции оператором function, но имеются и отличия:

  • Когда Вы присваиваете функцию переменной с использованием var multiply = new Function("..."), multiply является переменной, для которой текущее значение является ссылкой на функцию, созданную как new Function().
  • Когда Вы создаёте функцию с использованием function multiply() {...}, multiply является не переменной, а именем функции.

Вложение функций. Вы можете вкладывать функции друг в друга. Вложенная функция (внутренняя) является private для содержащей её (внешней) функции:

  • Доступ к внутренней функции может быть получен только через операторы внешней функции.
  • Внутренняя функция может использовать аргументы и переменные внешней функции. Внешняя функция не может использовать аргументы и переменные внутренней функции.

Следующий пример демонстрирует вложение функций:

function addSquares (a,b) {
   function square(x) {

      return x*x
   }

   return square(a) + square(b)
}
a=addSquares(2,3) // возвращает 13
b=addSquares(3,4) // возвращает 25
c=addSquares(4,5) // возвращает 41

Если функция содержит вложенную функцию, Вы можете вызывать внешнюю функцию и специфицировать аргументы для внешней и внутренней функции:

function outside(x) {
   function inside(y) {

      return x+y
   }
   return inside

}
result=outside(3)(5) // возвращает 8

Специфицирование обработчика события объектом Function. Следующий код присваивает функцию обработчику onFocus (имя обработчика обязано записываться в нижнем регистре):

window.onfocus = new Function("document.bgColor='antiquewhite'")

Если функция присваивается переменной, Вы можете присвоить переменную обработчику события. Следующий код присваивает функцию переменной setBGColor.

var setBGColor = new Function("document.bgColor='antiquewhite'")

Вы можете использовать эту переменную для присвоения функции обработчику события одним из следующих способов:

document.form1.colorButton.onclick=setBGColor
<INPUT NAME="colorButton" TYPE="button"
   VALUE="Change
background color"
   onClick="setBGColor()">

После того как Вы получили ссылку на Function-объект, Вы можете использовать его как функцию, и он будет конвертирован из объекта в функцию:

window.onfocus()

Обработчики событий не принимают аргументов, поэтому Вы не можете объявлять никакие аргументы в конструкторе Function для обработчика события. Например, Вы не можете вызывать функцию multiply через такую установку свойства onclick кнопки:

document.form1.button1.onclick=multFun(5,10)

Обратная Совместимость

JavaScript 1.1 и более ранние версии. Вы не можете вкладывать один оператор функции в другой оператор либо в самого себя.

Свойства. Резюме.

Свойство Описание
arguments

Массив, соответствующий аргументам, передаваемым функции.

arguments.callee

Специфицирует тело функции исполняемой в данный момент функции.

arguments.caller

Специфицирует имя функции, которая вызывала исполняемую в данный момент функцию.

arguments.length

Специфицирует количество аргументов, передаваемых функции.

arity

Специфицирует количество аргументов, ожидаемое функцией.

constructor

Специфицирует функцию, создающую прототип объекта.

length

Специфицирует количество аргументов, ожидаемое функцией.

prototype

Позволяет добавлять свойства в Function-объект.

Методы. Резюме.

Метод Описание
apply

Даёт возможность применять метод другого объекта в контексте вызывающего объекта.

call

Позволяет вызывать (выполнять) метод другого объекта в контексте вызывающего объекта.

toSource

Возвращает строку, представляющую исходный код функции. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую исходный код функции. Переопределяет метод Object.toString.

valueOf

Возвращает строку, представляющую исходный код функции. Переопределяет метод Object.valueOf.

Примеры

Пример 1. Эта функция возвращает строку, содержащую отформатированное представление чисел с заполнением ведущими нулями.

// Эта функция возвращает строку, заполненную ведущими нулями
function
padZeros(num, totalLen) {
   var numStr = num.toString()             //инициализируется return-значение как строка

   var numZeros = totalLen - numStr.length // вычисляется количество нулей

   if (numZeros > 0) {
      for (var i = 1;
i <= numZeros; i++) {
         numStr = "0" + numStr

      }
   }
   return numStr
}

Следующие операторы вызывают функцию padZeros:

result=padZeros(42,4) // возвращает "0042"
result=padZeros(42,2) // возвращает "42"

result=padZeros(5,4)  // возвращает "0005"

Пример 2. Вы можете определить, существует ли функция, сравнив имя функции с null. В следующем примере func1 вызывается, если функция noFunc не существует; иначе вызывается функция func2. Заметьте, что требуется имя окна при обращении к функции noFunc.

if (window.noFunc == null)
   func1()
else func2()

Пример 3. Здесь создаётся обработчики события onFocus и onBlur для фрэйма. Этот код находится в том же файле, который содержит тэг FRAMESET. Заметьте, штаа это единственный способ создания обработчиков onFocus и onBlur для фрэйма, поскольку Вы не можете специфицировать обработчики в тэге FRAME.

frames[0].onfocus = new Function("document.bgColor='antiquewhite'")

frames[0].onblur = new Function("document.bgColor='lightgrey'")

apply

Даёт возможность применить метод другого объекта в контексте вызывающего объекта.

Метод из | Function
Реализован в | JavaScript 1.3

Синтаксис

apply(thisArg[, argArray])

Параметры

thisArg

Параметр для вызывающего объекта.

argArray

Массив аргументов для объекта.

Описание

Можно присваивать различные this-объекты при вызове существующей функции. this относится к текущему объекту, вызывающему объекту. С помощью apply Вы можете записать метод только один раз и затем наследовать его в другом объекте без необходимости повторно записывать этот метод для нового объекта.

apply очень похож на call, за исключением поддерживаемых типов аргументов. Вы можете использовать массив arguments вместо именованного набора параметров. С помощью apply Вы можете использовать литерал массива, например, apply(this, [name, value]), или объект Array, например, apply(this, new Array(name, value)).

Вы можете также использовать arguments для параметра argArray.
arguments является локальной переменной функции. Он может использоваться для всех неспецифицированных аргументов вызываемого объекта. Таким образом, Вы не обязаны знать аргументы вызываемого объекта, когда используете метод apply. Вы можете использовать arguments для передачи всех аргументов вызываемому объекту. Вызванный объект тогда отвечает за обработку этих аргументов.

Пример

Можно использовать apply для создания цепочки конструкторов объекта, как в Java. В следующем примере конструктор объекта product определяется с двумя параметрами, name и value. Другой объект, prod_dept, инициализирует свою уникальную переменную (dept) и вызывает конструктор для product в своём конструкторе для инициализации других переменных. Здесь параметр arguments использован для всех аргументов конструктора объекта product.

function product(name, value){
   this.name = name;

   if(value > 1000)
      this.value = 999;

   else
      this.value = value;
}
function prod_dept(name, value, dept){
   this.dept = dept;

   product.apply(product, arguments);
}
prod_dept.prototype = new product();
// поскольку 5 меньше 100, значение устанавливается
cheese = new prod_dept("feta", 5,
"food");
// поскольку 5000 больше 1000, значение будет 999

car = new prod_dept("honda", 5000, "auto");

См. также

Function.call

arguments

Массив, соответствующий аргументам, передаваемым функции.

Локальная переменная | Всех объектов функции.
Свойство из | Function (не рекомендуется)
Реализовано в | JavaScript 1.1, NES 2.0 JavaScript 1.2: добавлено свойство arguments.callee. JavaScript 1.3: не рекомендуется использовать свойство arguments.caller; удалена поддержка имён аргументов и локальных переменных как свойств массива arguments.
Версия ECMA | ECMA-262

Описание

Вы можете обращаться к аргументам функции, используя массив arguments. Этот массив содержит вхождение для каждого аргумента, передаваемого функции. Например, если функции передаются три аргумента, Вы можете обратиться к аргументам так:

arguments[0]
arguments[1]
arguments[2]

Массиву arguments может предшествовать также имя функции:

myFunc.arguments[0]
myFunc.arguments[1]
myFunc.arguments[2]

Массив arguments доступен только внутри тела функции. Попытка получить доступ к массиву arguments вне объявления функции приведёт к ошибке.

Вы можете использовать массив arguments при вызове функции с бо́льшим количеством аргументов, чем она принимает по формальному объявлению. Эта техника используется для тех функций, которым можно передавать переменное количество аргументов. Вы можете использовать arguments.length для определения количества аргументов, передаваемых функции, и последующей обработки каждого аргумента с использованием массива arguments. (Для определения количества аргументов, объявленных при определении функции, используйте свойство Function.length.)

Массив arguments имеет следующие свойства:

Свойство | Описание
arguments.callee | Специфицирует тело функции, исполняемой в данный момент.
arguments.caller | Специфицирует имя функции, вызвавшей исполняемую в данный момент функцию. (Не рекомендуется.)
arguments.length | Специфицирует количество аргументов, передаваемых функции.

Обратная Совместимость

JavaScript 1.1 и 1.2. Следующие возможности JavaScript 1.1 и JavaScript 1.2 удалены:

  • Каждая локальная переменная функции является свойством массива arguments. Например, если функция myFunc имеет локальную переменную myLocalVar, Вы можете обратиться к переменной arguments.myLocalVar.
  • Каждый формальный аргумент функции является свойством массива arguments. Например, если функция myFunc имеет два аргумента arg1 и arg2, Вы можете обратиться к аргумента arguments.arg1 и arguments.arg2. (Вы можете также обратиться к ним arguments[0] и arguments[1].)

Примеры

Пример 1. Здесь определена функция, выполняющая конкатенацию/объединение нескольких строк. Единственным формальным аргументом функции является строка, специфицирующая символ-разделитель объединяемых строк. Функция определена так:

function myConcat(separator) {
   result="" // инициализация списка

   // итерация по arguments
   for (var i=1;
i<arguments.length; i++) {
      result += arguments[i] + separator

   }
   return result
}

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

// возвращает "red, orange, blue, "
myConcat(", ","red","orange","blue")
// возвращает "elephant; giraffe; lion; cheetah;"

myConcat("; ","elephant","giraffe","lion", "cheetah")
// возвращает "sage. basil. oregano. pepper. parsley. "

myConcat(". ","sage","basil","oregano", "pepper", "parsley")

Пример 2. Определяется функция, создающая HTML-списки. Единственным формальным аргументом этой функции является строка, которая содержит "U", если это неупорядоченный список (bulleted), или "O", если это упорядоченный список (numbered). Функция определена так:

function list(type) {
   document.write("<"
+ type + "L>") // начало списка
   // итерация по arguments

   for (var i=1; i<arguments.length; i++) {

      document.write("<LI>" + arguments[i])
   }

   document.write("</" + type + "L>") // конец списка
}

Вы можете передать этой функции любое количество аргументов, и она отобразит каждый аргумент как элемент списка указанного типа. Например, следующий вызов функции

list("U", "One", "Two", "Three")

даст на выходе

<UL>
<LI>One
<LI>Two
<LI>Three
</UL>

arguments.callee

Специфицирует тело исполняемой в данный момент функции.

Свойство из | Локальной переменной arguments; Function (не рекомендуется)
Реализовано в | JavaScript 1.2
Версия ECMA | ECMA-262

Описание

Свойство callee доступно только в теле функции.

Ключевое слово this не относится к исполняемой в данный момент функции. Используйте свойство callee для обращения к функции в теле этой функции.

Примеры

Следующая функция возвращает значение свойства callee этой функции.

function myFunc() {
   return arguments.callee
}

Возвращается следующее значение:

function myFunc() { return arguments.callee; }

См. также

Function.arguments

arguments.caller

Специфицирует имя функции, которая вызвала исполняемую в данный момент функцию.

Свойство из | Function
Реализовано в | JavaScript 1.1, NES 2.0 В JavaScript 1.3 не рекомендуется применять.

Описание

caller больше не используется.

Свойство caller доступно только в теле функции.

Если исполняемая в данный момент функция была вызвана с верхнего уровня программы JavaScript, значение caller будет null.

Ключевое слово this не относится к исполняемой в данный момент функции, поэтому Вы обязаны к функциям и объектам Function по имени, даже в теле функции.

Свойство caller является ссылкой на вызывающую функцию, поэтому,

  • Если Вы используете её в строковом контексте, Вы получите результат вызова functionName.toString. То есть декомпилированную каноническую исходную форму функции.
  • Вы также можете вызвать вызывающую функцию, если знаете аргументы, которые ей могут быть нужны. Таким образом, вызываемая функция может вызвать вызывающую функцию, не зная её имени, предполагая, что все её вызыватели имеют одну форму и размер и что они не будут необусловленно вызывать вызываемую функцию ещё раз (что может привести к бесконечной рекурсии).

Примеры

Следующий код проверяет значение свойства caller функции:

function myFunc() {
   if (arguments.caller == null) {

      return ("The function was called from the top!")

   } else return ("This function's caller was " + arguments.caller)
}

См. также

Function.arguments

arguments.length

Специфицирует количество аргументов, передаваемых функции.

Свойство из | Локальной переменной arguments; Function (не рекомендуется)
Реализовано в | JavaScript 1.1
Версия ECMA | ECMA-262

Описание

arguments.length выдаёт количество аргументов, реально переданных функции. В отличие от него, свойство Function.length указывает, сколько аргументов функция ожидает.

Пример

Использование Function.length и arguments.length.

function addNumbers(x,y){
   if
(arguments.length == addNumbers.length) {
      return (x+y)

   }
   else return 0
}

Если Вы передаёте этой функции больше двух аргументов, она возвращает 0:

result=addNumbers(3,4,5)   // возвращает 0
result=addNumbers(3,4)     // возвращает 7
result=addNumbers(103,104) // возвращает 207

См. также

Function.arguments

arity

Специфицирует количество аргументов, ожидаемых функцией.

Свойство из | Function
Реализовано в | JavaScript 1.2, NES 3.0

Описание

arity является внешним относительно функции и указывает, какое количество аргументов функция ожидает. В отличие от него, arguments.length предоставляет количество аргументов, реально переданных функции.

Пример

Использование arity и arguments.length.

function addNumbers(x,y){
   if
(arguments.length == addNumbers.length) {
      return (x+y)

   }
   else return 0
}

Если Вы передаёте этой функции более двух аргументов, она возвращает 0:

result=addNumbers(3,4,5)   // возвращает 0
result=addNumbers(3,4)     // возвращает 7
result=addNumbers(103,104) // возвращает 207

См. также

arguments.length, Function.length

call

Позволяет вызывать (выполнять) метод другого объекта в контексте данного (вызывающего) объекта.

Метод из | Function
Реализован в | JavaScript 1.3

Синтаксис

call(thisArg[, arg1[, arg2[, ...]]])

Параметры

thisArg

Параметр для вызывающего объекта.

arg1, arg2, ...

Аргументы для объекта.

Описание

Вы можете присвоить разные объекты this при вызове существующей функции. this ссылается на текущий (вызывающий) объект.

С помощью call Вы можете записать метод однократно и затем наследовать его в другом объекте без необходимости записывать его ещё раз для нового объекта.

Примеры

Вы можете использовать call для создания цепочки конструкторов объектов, как в Java. В следующем примере конструктор объекта product определён с двумя параметрами, name и value. Другой объект, prod_dept, инициализирует свою уникальную переменную (dept) и вызывает конструктор объекта product в своём конструкторе для инициализации других переменных.

function product(name, value){
   this.name = name;

   if(value > 1000)
      this.value = 999;

   else
      this.value = value;
}
function prod_dept(name, value, dept){
   this.dept = dept;

   product.call(this, name, value);
}
prod_dept.prototype = new product();
// поскольку 5 меньше 100, значение устанавливается

cheese = new prod_dept("feta", 5, "food");
// поскольку 5000 больше 1000, значение будет 999

car = new prod_dept("honda", 5000, "auto");

См. также

Function.apply

constructor

Специфицирует функцию, которая создаёт прототип объекта. Заметьте, что значением этого свойства является ссылка на функцию, а не строка с именем функции.

Свойство из | Function
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

См. Object.constructor.

length

Специфицирует количество аргументов, ожидаемое функцией.

Свойство из | Function
Реализовано в | JavaScript 1.1
Версия ECMA | ECMA-262

Описание

length является внешним относительно функции и указывает, сколько аргументов функция ожидает. В противоположность ему, arguments.length является локальным относительно функции и представляет количество аргументов, реально переданных функции.

Пример

См. пример для arguments.length.

См. также

arguments.length

prototype

Значение, из которого создаются экземпляры определённого класса. Каждый объект, который может быть создан вызовом конструктора функции, имеет ассоциированное свойство prototype.

Свойство из | Function
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

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

fun.prototype.name = value

где

fun

Имя конструктора объекта, который вы хотите изменить.

name

Имя создаваемого свойства или метода.

value

Значение, присвоенное первоначально новому свойству или методу.

Если Вы добавляете свойство в прототип объекта, то все объекты, созданные этой функцией-конструктором этих объектов, будут иметь это новое свойство, даже если объекты существовали до создания нового свойства. Например, предположим, имеются такие операторы:

var array1 = new Array();
var array2 = new Array(3);

Array.prototype.description=null;
array1.description="Contains some stuff"
array2.description="Contains other stuff"

После установки свойства в прототипе все объекты, созданные с помощью Array, будут иметь это свойство:

anotherArray=new Array()
anotherArray.description="Currently empty"

Пример

Здесь создаётся метод str_rep и используется оператор String.prototype.rep = str_rep для добавления метода всем объектам String. Все объекты, созданные с помощью new String(), имеют теперь и этот метод, хотя объекты уже были созданы раньше. Затем создаётся альтернативный метод и добавляется к одному из объектов String через использование оператора s1.rep = fake_rep. Метод str_rep других String-объектов не изменяется.

var s1 = new String("a")
var s2 = new String("b")
var s3 = new String("c")
// Создаётся метод repeat-string-N-times для всех объектов String
function
str_rep(n) {
   var s = "", t = this.toString()

   while (--n >= 0) s += t
   return s
}
String.prototype.rep = str_rep
s1a=s1.rep(3) // возвращает "aaa"
s2a=s2.rep(5) // возвращает "bbbbb"

s3a=s3.rep(2) // возвращает "cc"
// Создаётся альтернативный метод и присваивается только одной String-переменной

function fake_rep(n) {

   return "repeat " + this + " " + n + " times."
}
s1.rep = fake_rep
s1b=s1.rep(1) // возвращает "repeat a 1 times."
s2b=s2.rep(4) // возвращает "bbbb"
s3b=s3.rep(6) // возвращает "cccccc"

Функция из этого примера работает также со String-объектами, созданными без использования конструктора String. Следующий код возвращает "zzz".

"z".rep(3)

toSource

Возвращает строку, представляющую исходный код функции.

Метод из | Function
Реализован в | JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Function метод toSource возвращает следующие строки, указывающие на недоступность исходного кода:
       function Function() {

      [native code]
       }
  • Для специальных функций метод toSource возвращает исходный код JavaScript, который определяет объект как строку.

Этот метод обычно вызывается JavaScript внутренне, а не явно в коде. Вы можете вызывать toSource при отладке для проверки содержимого объекта.

См. также

Function.toString, Object.valueOf

toString

Возвращает строку, представляющую исходный код функции.

Метод из | Function
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toString()

Параметры

Отсутствуют.

Описание

Объект Function переопределяет метод toString объекта Object; он не наследует Object.toString. Для объектов Function метод toString возвращает строку, представляющую объект.

JavaScript вызывает метод toString автоматически, если Function представлен как текстовое значение или если на Function имеется ссылка при конкатенации строк.

Для объектов Function встроенный метод toString декомпилирует функцию обратно в исходный код JavaScript, который определяет функцию. Эта строка содержит ключевое слово function, список аргументов, фигурные скобки и тело функции.

Например, имеется следующий код, где определяется тип объектов Dog и создаётся theDog, объект типа Dog:

function Dog(name,breed,color,sex) {
   this.name=name
   this.breed=breed
   this.color=color
   this.sex=sex

}
theDog = new Dog("Gabby","Lab","chocolate","girl")

Когда Dog используется в строковом контексте, JavaScript автоматически вызывает функцию toString, которая возвращает следующие строки:

function Dog(name, breed, color, sex) { this.name = name;
this.breed = breed; this.color = color; this.sex = sex; }

См. также

Object.toString

valueOf

Возвращает строку, представляющую исходный код функции.

Метод из | Function
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

Метод valueOf возвращает следующие значения:

  • Для встроенного объекта Function метод valueOf возвращает следующую строку, указывающую, что исходный код недоступен:
       function Function() {

      [native code]
       }
  • Для специальных функций метод toSource возвращает исходный код JavaScript, который определяет объект, в виде строки. Этот метод эквивалентен методу toString функции.

Этот метод обычно вызывается JavaScript внутренне, а не явно в коде.

См. также

Function.toString, Object.valueOf
§ ← → У


Hidden

Объект Text, отображение которого на форме HTML подавлено. Объект Hidden используется для передачи пар имя/значение при отправке формы.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type.

Создание

HTML-тэг INPUT с "hidden" в качестве значения атрибута TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты Hidden и помещает эти объекты в массив elements соответствующего объекта Hidden. Вы получаете доступ к объекту Hidden в этом массиве по индексу. Вы можете индексировать массив по числам или, если имеются, по значениям атрибута NAME.

Описание

Объект Hidden является элементом формы и обязан быть определён в тэге FORM.

Объект Hidden не может быть виден конечному пользователю и не может им изменяться, но Вы можете программно изменить значение этого объекта, изменяя его свойство value. Вы можете использовать объекты Hidden для взаимодействия клиент/сервер.

Свойства. Резюме.

Свойство Описание
form

Специфицирует форму, содержащую объект Hidden.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает текущее значение объекта Hidden.

Методы. Резюме.

Этот объект наследует методы watch и unwatch из объекта Object.

Пример

Здесь объект Hidden используется для хранения значения последнего объекта, по которому щёлкнул пользователь. Форма содержит кнопку "Display hidden value", которую пользователь может щёлкнуть для вывода значения объекта Hidden и диалога Alert.

<HTML>
<HEAD>
<TITLE>Hidden object example</TITLE>

</HEAD>
<BODY>
<B>Click some of these objects, then click the "Display value" button

<BR>to see the value of the last object clicked.</B>
<FORM NAME="myForm">

<INPUT TYPE="hidden" NAME="hiddenObject" VALUE="None">
<P>

<INPUT TYPE="button" VALUE="Click me" NAME="button1"

   onClick="document.myForm.hiddenObject.value=this.value">
<P>

<INPUT TYPE="radio" NAME="musicChoice" VALUE="soul-and-r&b"

   onClick="document.myForm.hiddenObject.value=this.value"> Soul and R&B

<INPUT TYPE="radio" NAME="musicChoice" VALUE="jazz"

   onClick="document.myForm.hiddenObject.value=this.value"> Jazz

<INPUT TYPE="radio" NAME="musicChoice" VALUE="classical"

   onClick="document.myForm.hiddenObject.value=this.value"> Classical
<P>

<SELECT NAME="music_type_single"
   onFocus="document.myForm.hiddenObject.value=this.options[this.selectedIndex].text">

   <OPTION SELECTED> Red <OPTION> Orange <OPTION> Yellow

</SELECT>
<P><INPUT TYPE="button" VALUE="Display hidden value" NAME="button2"

   onClick="alert('Last object clicked: ' + document.myForm.hiddenObject.value)">

</FORM>
</BODY>
</HTML>

См. также

document.cookie

form

Ссылка объекта, специфицирующая форму, содержащую этот объект.

Свойство из | Hidden
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство в основном используется в обработчиках событий, где Вам может понадобиться обратиться к другому элементу на этой же форме.

Примеры

Пример 1. Здесь форма myForm содержит объект Hidden и кнопку. Если пользователь щёлкает по кнопке, в значение объекта Hidden устанавливается имя формы. Обработчик события кнопки onClick использует this.form для обращения к родительской форме myForm.

<FORM NAME="myForm">
Form name:<INPUT TYPE="hidden" NAME="h1"
VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Store Form Name"

   onClick="this.form.h1.value=this.form.name">
</FORM>

Пример 2. Здесь используется ссылка на объект, а не ключевое слово this, для обращения к форме. Код возвращает ссылку на myForm, которая является контейнером для объекта myHiddenObject.

document.myForm.myHiddenObject.form

См. также

Hidden

name

Строка, специфицирующая имя данного объекта.

Свойство из | Hidden
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

type

Для всех объектов Hidden, значение свойства type - "hidden". Это свойство специфицирует тип элементов формы.

Свойство из | Hidden
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Здесь записывается значение свойства type для каждого элемента формы.

for (var i = 0; i < document.myForm.elements.length; i++) {

   document.writeln("<BR>type is " + document.myForm.elements[i].type)
}

value

Строка, отражающая значение атрибута VALUE объекта.

Свойство из | Hidden
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство по умолчанию разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Пример

Эта функция вычисляет свойство value группы кнопок и выводит его в окне msgWindow:

function valueGetter() {
   var msgWindow=window.open("")

   msgWindow.document.write("The submit button says " +

      document.valueTest.submitButton.value + "<BR>")

   msgWindow.document.write("The reset button says " +

      document.valueTest.resetButton.value + "<BR>")

   msgWindow.document.write("The hidden field says " +

      document.valueTest.hiddenField.value + "<BR>")

   msgWindow.document.close()
}

Этот пример выведет следующее:

The submit button says Query Submit
The reset button says Reset
The hidden field says pipefish are cute.

Здесь предполагается, что кнопки были определены так:

<INPUT TYPE="submit" NAME="submitButton">
<INPUT TYPE="reset" NAME="resetButton">
<INPUT TYPE="hidden" NAME="hiddenField" VALUE="pipefish are cute.">


History

Содержит массив информации о URL, которые были посещены пользователем в данном окне. Эта информация хранится в списке history и может быть получена через меню Go браузера.

Клиентский объект |
Реализовано в | JavaScript 1.0 JavaScript 1.1: добавлены свойства current, next и previous.

Создание

Объекты History являются предопределёнными объектами JavaScript, доступ к которым Вы можете получить через свойство history объекта window.

Описание

Для изменения текущего URL окна без генерации вхождения в history Вы можете использовать метод Location.replace. При этом текущая страница замещается другой без генерации вхождения в history. См. Location.replace.

Вы можете обратиться ко вхождениям в history через использование массива window.history. Этот массив содержит вхождение для каждого вхождения в history в порядке исходного кода. Каждое вхождение массива является строкой, содержащей URL. Например, если список history содержит три именованных вхождения, эти вхождения отражаются как history[0], history[1] и history[2].

Если Вы получаете доступ к массиву history без специфицирования элемента массива, браузер возвращает строку HTML, которая выводит таблицу URLs, каждый из которых является ссылкой.

Свойства. Резюме.

Свойство Описание
current

Специфицирует URL текущего вхождения в history.

length

Отражает количество вхождений в списке history.

next

Специфицирует URL следующего вхождения в history.

previous

Специфицирует URL предыдущего вхождения в history.

Методы. Резюме.

Метод Описание
back

Загружает предыдущий URL из списка history.

forward

Загружает следующий URL из списка history.

go

Загружает URL из списка history.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Здесь выполняется переход к URL , который был посещён пользователем в текущем окне на три шага назад.

history.go(-3)

Пример 2. Вы можете использовать объект history со специфицированным окном или фрэймом. В данном примере window2 переходит назад на одну ступень назад в истории данного окна (или сессии):

window2.history.back()

Пример 3. В этом примере второй фрэйм в наборе фрэйма переходит назад на один элемент:

parent.frames[1].history.back()

Пример 4. В этом примере фрэйм frame1 набора фрэймов переходит назад на один шаг:

parent.frame1.history.back()

Пример 5. В этом примере фрэйм frame2 в окне window2 переходит назад на один шаг:

window2.frame2.history.back()

Пример 6. Этот код определяет, содержит ли первое вхождение массива history строку "NETSCAPE". Если это так, вызывается функция myFunction.

if (history[0].indexOf("NETSCAPE") != -1) {
   myFunction(history[0])
}

Пример 7. Здесь отображается весь список history:

document.writeln("<B>history is</B> " + history)

Этот код отобразит примерно такое:

history is
Welcome to Netscape http://home.netscape.com/
Sun Microsystems http://www.sun.com/
Royal Airways http://www.supernet.net/~dugbrown/

См. также

Location, Location.replace

back

Загружает предыдущий URL из списка history.

Метод из | History
Реализован в | JavaScript 1.0

Синтаксис

back()

Параметры

Отсутствуют.

Описание

Этот метод выполняет такую же акцию, что и пользователь, нажимая кнопку Back в браузере. Метод back это то же, что и history.go(-1).

Пример

Следующие кнопки выполняют ту же операцию, что и кнопка Back браузера:

<P><INPUT TYPE="button" VALUE="< Go Back"
   onClick="history.back()">
<P><INPUT TYPE="button" VALUE="> Go Back"
   onClick="myWindow.back()">

См. также

History.forward, History.go

current

Строка, специфицирующая полный URL текущего вхождения из списка history.

Свойство из | History
Только для чтения |
Реализовано в | JavaScript 1.1

Безопасность

Получение значения этого свойства требует привилегии UniversalBrowserRead. Оно не имеет значения, если у Вас нет этой привилегии. О безопасности см. книгу Клиентский JavaScript. Руководство.

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. Значение отсутствует, если разрушение данных отключено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Пример

Здесь определяется, содержит ли history.current строку "netscape.com". Если это так, вызывается функция myFunction.

if (history.current.indexOf("netscape.com") != -1) {
   myFunction(history.current)
}

См. также

History.next, History.previous

forward

Загружает следующий URL из списка history.

Метод из | History
Реализован в | JavaScript 1.0

Синтаксис

forward()

Параметры

Отсутствуют.

Описание

Этот метод выполняет такое же действие, что и пользователь, нажимающий кнопку Forward в браузере. Метод forward это то же, что и history.go(1).

Пример

Следующие кнопки выполняют ту же операцию, что и кнопка Forward браузера:

<P><INPUT TYPE="button" VALUE="< Forward"

   onClick="history.forward()">
<P><INPUT TYPE="button" VALUE="> Forward"

   onClick="myWindow.forward()">

См. также

History.back, History.go

go

Загружает URL из списка history.

Метод из | History
Реализован в | JavaScript 1.0

Синтаксис

go(delta)
go(location)

Параметры

delta

Целое число - относительная позиция в списке history.

location

Строка, представляющая все или часть URL из списка history.

Описание

Метод go переходит к точке списка history, определённой специфицированным параметром.

Если аргумент delta равен 0, браузер перезагружает текущую страницу. Если целое число больше 0, метод go загружает URL, находящийся на специфицированное число вхождений впереди в списке history; иначе (если меньше 0) он загружает URL, находящийся на специфицированное число вхождений назад в списке history.

Аргумент location это строка. Используйте location для загрузки ближайшего вхождения из history, чей URL содержит location в качестве подстроки. Совпадение URL с параметром location делается с учётом регистра. Каждый раздел URL содержит свою информацию. См. в Location описание компонентов URL.

Метод go создаёт новое вхождение в списке history. Для загрузки URL без создания вхождения в списке history используйте Location.replace.

Примеры

Эта кнопка делает переход к ближайшему вхождению из history, которое содержит строку "home.netscape.com":

<P><INPUT TYPE="button" VALUE="Go"
   onClick="history.go('home.netscape.com')">

Следующая кнопка переходит к URL, который находится на три шага назад в списке history:

<P><INPUT TYPE="button" VALUE="Go"
   onClick="history.go(-3)">

См. также

History.back, History.forward, Location.reload, Location.replace

length

Количество элементов в массиве history.

Свойство из | History
Только для чтения |
Реализовано в | JavaScript 1.0

Безопасность

Получение значения этого свойства требует привилегии UniversalBrowserRead. О безопасности см. книгу Клиентский JavaScript. Руководство.

next

Строка, специфицирующая полный URL следующего вхождения из history.

Свойство из | History
Только для чтения |
Реализовано в | JavaScript 1.1

Безопасность

Получение значения этого свойства требует привилегии UniversalBrowserRead. Оно не имеет значения, если у Вас нет этой привилегии. О безопасности см. книгу Клиентский JavaScript. Руководство.

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. Значение отсутствует, если разрушение данных отключено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство next отражает URL, который должен использоваться, если выбрано меню Forward из Go.

Примеры

Здесь определяется, содержит ли history.next строку "NETSCAPE.COM". Если да - вызывается функция myFunction.

if (history.next.indexOf("NETSCAPE.COM") != -1) {
   myFunction(history.next)
}

См. также

History.current, History.previous

previous

Строка, специфицирующая полный URL предыдущего вхождения из history.

Свойство из | History
Только для чтения |
Реализовано в | JavaScript 1.1

Безопасность

Получение значения этого свойства требует привилегии UniversalBrowserRead. Оно не имеет значения, если у Вас нет этой привилегии. О безопасности см. книгу Клиентский JavaScript. Руководство.

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. Значение отсутствует, если разрушение данных отключены. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство previous отражает URL, который должен использоваться при выборе меню Back из Go.

Пример

Здесь определяется, содержит ли history.previous строку "NETSCAPE.COM". Если да - вызывается функция myFunction.

if (history.previous.indexOf("NETSCAPE.COM") != -1) {
   myFunction(history.previous)
}

См. также

History.current, History.next
§ ← → У


Image

Изображение в HTML.

Клиентский объект |
Реализован в | JavaScript 1.1 JavaScript 1.2: добавлен метод handleEvent.

Создание

Конструктор Image или тэг IMG.

Машина выполнения JavaScript создаёт объект Image для каждого тэга IMG в документе. Она помещает эти объекты в массив в свойстве document.images. Вы получаете доступ к объекту Image по индексу в этом массиве.

Для определения тэга IMG используйте стандартный синтаксис HTML с добавлением обработчиков событий JavaScript. При специфицировании атрибута NAME можно использовать это имя при индексации массива images.

Для определения изображения с помощью конструктора используйте такой синтаксис:

new Image([width,] [height])

Параметры

width

Ширина изображения в пикселах.

height

Высота изображения в пикселах.

Обработчики событий

  • onAbort
  • onError
  • onKeyDown
  • onKeyPress
  • onKeyUp
  • onLoad

Для определения обработчика события для объекта Image, созданного конструктором Image, установите соответствующее свойство объекта. Например, если у Вас имеется объект Image по имени imageName и Вы хотите установить в один из его обработчиков событий функцию handlerFunction, используйте один из следующих операторов:

imageName.onabort = handlerFunction
imageName.onerror = handlerFunction
imageName.onkeydown = handlerFunction
imageName.onkeypress = handlerFunction
imageName.onkeyup = handlerFunction
imageName.onload = handlerFunction

Объекты Image не имеют обработчиков onClick, onMouseOut и onMouseOver. Однако, если Вы определите для изображения объект Area или поместите тэг IMG внутри объекта Link, Вы сможете использовать обработчики событий для объектов Area или Link. См. Link.

Описание

Позиция и размер изображения в документе устанавливаются при отображении документа web-браузером и не могут быть изменены с помощью JavaScript (свойства width и height являются для данного объекта read-only). Вы можете изменить выводимое изображение, установив свойства src и lowsrc. (См. описание Image.src и Image.lowsrc.)

Вы можете использовать JavaScript для создания анимации из объекта Image, выполняя повторяющуюся установку свойства src, как показано далее в Примере 4. Анимация JavaScript работает медленнее, чем GIF-анимация, поскольку GIF-анимация это один файл; при анимации JavaScript каждый фрэйм является отдельным файлом, и каждый файл обязан быть загружен из сети (установление связи с хостом, перенос данных...).

В основном объект Image, создаваемый конструктором Image, предназначен для загрузки изображения по сети (и его декодирования) до того момента, когда оно понадобится для отображения. Затем, если Вам нужно вывести изображение в существующей ячейке изображения, Вы устанавливаете в свойство src выводимого изображения то значение, которое используется для полученного ранее изображения:

myImage = new Image()
myImage.src = "seaotter.gif"
...
document.images[0].src = myImage.src

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

Свойства. Резюме.

Свойство Описание
border

Отражает атрибут BORDER.

complete

Булево значение, указывающее, завершил ли браузер попытку загрузки изображения.

height

Отражает атрибут HEIGHT.

hspace

Отражает атрибут HSPACE.

lowsrc

Отражает атрибут LOWSRC.

name

Отражает атрибут NAME.

src

Отражает атрибут SRC.

vspace

Отражает атрибут VSPACE.

width

Отражает атрибут WIDTH.

Методы. Резюме.

Метод Описание

handleEvent

Вызывает обработчик для специфицированного события.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1: Создание изображения тэгом IMG. Следующий код определяет изображение тэгом IMG:

<IMG NAME="aircraft" SRC="f15e.gif" ALIGN="left" VSPACE="10">

Следующий код обращается к изображению:

document.aircraft.src='f15e.gif'

Если Вы обращаетесь к изображению по имени, Вы обязаны включать имя формы, если изображение расположено на форме. Следующий код обращается к изображению на форме:

document.myForm.aircraft.src='f15e.gif'

Пример 2: Создание изображения конструктором Image. Здесь создаётся объект Image по имени myImage шириной 70 пикселов и высотой 50 пикселов. Если URL источника, seaotter.gif, не имеет размера 70x50 пикселов, он масштабируется до данного размера.

myImage = new Image(70, 50)
myImage.src = "seaotter.gif"

Если Вы опускаете аргументы width и height в конструкторе Image, myImage создаётся с размерами, указанными в исходном URL..

myImage = new Image()
myImage.src = "seaotter.gif"

Пример 3: Вывод изображения на основе ввода данных в форму. Здесь пользователь выбирает, какое изображение вывести. Пользователь заказывает рубашку, заполняя форму. Изображение выводится в зависимости от указанных цвета и размера рубашки. Все возможные варианты загружаются заранее, чтобы сократить время на ответ. Если пользователь щёлкает кнопку для заказа рубашки, функция allShirts выводит изображения всех рубашек.

<SCRIPT>
shirts = new Array()
shirts[0] = "R-S"

shirts[1] = "R-M"
shirts[2] = "R-L"
shirts[3] = "W-S"
shirts[4] = "W-M"
shirts[5] = "W-L"

shirts[6] = "B-S"
shirts[7] = "B-M"
shirts[8] = "B-L"
doneThis = 0
shirtImg = new Array()
// Предварительная загрузка изображений рубашек
for(idx=0; idx < 9; idx++) {

   shirtImg[idx] = new Image()
   shirtImg[idx].src = "shirt-" + shirts[idx] + ".gif"
}
function changeShirt(form)
{
   shirtColor = form.color.options[form.color.selectedIndex].text

   shirtSize = form.size.options[form.size.selectedIndex].text
   newSrc = "shirt-" + shirtColor.charAt(0) + "-" + shirtSize.charAt(0) + ".gif"

   document.shirt.src = newSrc
}
function allShirts()
{
   document.shirt.src = shirtImg[doneThis].src

   doneThis++
   if(doneThis != 9)setTimeout("allShirts()", 500)

   else doneThis = 0
   return
}
</SCRIPT>
<FONT SIZE=+2><B>Netscape Polo Shirts!</FONT></B>
<TABLE CELLSPACING=20 BORDER=0>
<TR>
<TD><IMG name="shirt" SRC="shirt-W-L.gif"></TD>
<TD>
<FORM>
<B>Color</B>
<SELECT SIZE=3 NAME="color" onChange="changeShirt(this.form)">
<OPTION> Red
<OPTION SELECTED> White
<OPTION> Blue
</SELECT>
<P>
<B>Size</B>
<SELECT SIZE=3 NAME="size" onChange="changeShirt(this.form)">
<OPTION> Small
<OPTION> Medium
<OPTION SELECTED> Large
</SELECT>
<P><INPUT type="button" name="buy" value="Buy This Shirt!"
   onClick="allShirts()">
</FORM>
</TD>
</TR>
</TABLE>

Пример 4: Анимация JavaScript. В этом примере JavaScript используется для создания анимации в объекте Image путём повторяющегося изменения значения его свойства src. Скрипт начинается с предзагрузки 10 изображений, образующих эту анимацию (image1.gif, image2.gif, image3.gif и т.д.). Если объект Image размещён в документе тэгом IMG, image1.gif выводится, и обработчик onLoad начинает анимацию, вызывая функцию animate. Заметьте, что функция animate не вызывает сама себя после изменения свойства src объекта Image. Это происходит из-за того, что при изменении свойства src обработчик onLoad изображения включается и вызывается функция animate.

<SCRIPT>
delay = 100
imageNum = 1
// Предварительная загрузка изображений анимации
theImages = new Array()
for(i = 1; i < 11; i++) {
   theImages[i] = new Image()
   theImages[i].src = "image" + i + ".gif"
}
function animate() {
   document.animation.src = theImages[imageNum].src
   imageNum++
   if(imageNum > 10) {
      imageNum = 1
   }
}
function slower() {
   delay+=10
   if(delay > 4000) delay = 4000
}
function faster() {
   delay-=10
   if(delay < 0) delay = 0
}
</SCRIPT>
<BODY BGCOLOR="white">
<IMG NAME="animation" SRC="image1.gif" ALT="[Animation]"
   onLoad="setTimeout('animate()', delay)">
<FORM>
   <INPUT TYPE="button" Value="Slower" onClick="slower()">
   <INPUT TYPE="button" Value="Faster" onClick="faster()">
</FORM>
</BODY>

См. также примеры для обработчиков onAbort, onError и onLoad.

См. также

Link, onClick, onMouseOut, onMouseOver

border

Строка, специфицирующая ширину рамки изображения в пикселах.

Свойство из | Image
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство border отражает атрибут BORDER тэга IMG. Для изображений, созданных конструктором Image, значение свойства border равно 0.

Пример

Эта функция выводит значение свойства border изображения, если это значение не равно 0.

function checkBorder(theImage) {
   if (theImage.border==0) {
      alert('The image has no border!')
   }
   else alert('The image's border is ' + theImage.border)
}

См. также

Image.height, Image.hspace, Image.vspace, Image.width

complete

Булево значение, указывающее, завершил ли web-браузер попытку загрузки изображения.

Свойство из | Image
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Здесь выводится изображение и три радио-кнопки. Пользователь может щёлкать радио-кнопки для выбора изображения для вывода. Щелчок по другой кнопке позволяет пользователю увидеть текущее значение свойства complete.

<B>Choose an image:</B>
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED
   onClick="document.images[0].src='f15e.gif'">F-15 Eagle
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image2"
   onClick="document.images[0].src='f15e2.gif'">F-15 Eagle 2
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image3"
   onClick="document.images[0].src='ah64.gif'">AH-64 Apache
<BR><INPUT TYPE="button" VALUE="Is the image completely loaded?"
   onClick="alert('The value of the complete property is '
      + document.images[0].complete)">
<BR>
<IMG NAME="aircraft" SRC="f15e.gif" ALIGN="left" VSPACE="10"><BR>

См. также

Image.lowsrc, Image.src

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Image
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик.

Описание

Информацию об обработке событий см. в книге Клиентский JavaScript. Руководство..

height

Строка, специфицирующая высоту изображения в пикселах.

Свойство из | Image
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство height отражает атрибут HEIGHT тэга IMG. Для изображений, созданных конструктором Image, значение свойства height является реальной, а не отображаемой, высотой изображения.

Пример

Следующая функция выводит значения свойств height, width, hspace и vspace изображения.

function showImageSize(theImage) {
   alert('height=' + theImage.height+
      '; width=' + theImage.width +
      '; hspace=' + theImage.hspace +
      '; vspace=' + theImage.vspace)
}

См. также

Image.border, Image.hspace, Image.vspace, Image.width

hspace

Строка, специфицирующая поле в пикселах между левым и правым краями изображения и окружающим текстом.

Свойство из | Image
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство hspace отражает атрибут HSPACE тэга IMG. Для изображений, созданных конструктором Image, значение свойства hspace равно 0.

Примеры

См. примеры для свойства height.

См. также

Image.border, Image.height, Image.vspace, Image.width

lowsrc

Строка, специфицирующая URL версии изображения с низким разрешением, выводимой в документе.

Свойство из | Image
Реализовано в | JavaScript 1.1

Описание

Свойство lowsrc первоначально отражает атрибут LOWSRC тэга IMG. Браузер загружает меньшее изображение, специфицированное свойством lowsrc, а затем замещает его изображением большего размера, специфицированным в свойстве src. Вы можете изменить свойство lowsrc в любое время.

Примеры

См. примеры для свойства src.

См. также

Image.complete, Image.src

name

Строка, специфицирующая имя объекта.

Свойство из | Image
Только для чтения |
Реализовано в | JavaScript 1.1

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство..

Описание

Представляет значение атрибута NAME. Для изображений, созданных конструктором Image, значение свойства name равно null.

Примеры

Здесь функция valueGetter использует цикл for для итерации по массиву элементов, расположенных на форме valueTest. Окно msgWindow выводит имена всех элементов на форме:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

В следующем примере первый оператор создаёт окно netscapeWin. Второй оператор выводит значение "netscapeHomePage" в диалоговом окне Alert, поскольку "netscapeHomePage" является значением аргумента windowName argument окна netscapeWin.

netscapeWin=window.open("http://home.netscape.com","netscapeHomePage")
alert(netscapeWin.name)

src

Строка, специфицирующая URL изображения, выводимого в документе.

Свойство из | Image
Реализовано в | JavaScript 1.1

Описание

Свойство src первоначально отражает атрибут SRC тэга IMG. Установка свойства src начинает загрузку нового URL в область изображения (и прерывает передачу любых данных изображения, которые загружались в ту же самую область). Следовательно, если Вы планируете изменить свойство lowsrc, Вы должны сделать это до установки свойства src.

Если URL в свойстве src ссылается на изображение, которое имеет размер, отличный от размера ячейки, в которую оно загружается, изображение-источник масштабируется.

Если Вы изменяете свойство src выведенного изображения, новое изображение, которое Вы специфицируете, выводится в области, определённой для оригинального изображения. Например, объект Image первоначально выводит файл beluga.gif:

<IMG NAME="myImage" SRC="beluga.gif" ALIGN="left">

Если Вы устанавливаете myImage.src='seaotter.gif', изображение seaotter.gif масштабируется для вмещения в то же пространство, которое первоначально было использовано для beluga.gif, даже если seaotter.gif не имеет те же размеры, что и beluga.gif.

Вы можете изменить свойство src в любое время.

Пример

Здесь выводится изображение и три кнопки. Пользователь может щёлкать радио-кнопки для выбора выводимого изображения. Каждое изображение также использует свойство lowsrc для вывода изображения с низким разрешением.

<SCRIPT>
function displayImage(lowRes,highRes) {
   document.images[0].lowsrc=lowRes
   document.images[0].src=highRes
}
</SCRIPT>
<FORM NAME="imageForm">
<B>Choose an image:</B>
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED
   onClick="displayImage('f15el.gif','f15e.gif')">F-15 Eagle
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image2"
   onClick="displayImage('f15e2l.gif','f15e2.gif')">F-15 Eagle 2
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image3"
   onClick="displayImage('ah64l.gif','ah64.gif')">AH-64 Apache
<BR>
<IMG NAME="aircraft" SRC="f15e.gif" LOWSRC="f15el.gif" ALIGN="left" VSPACE="10"><BR>
</FORM>

См. также

Image.complete, Image.lowsrc

vspace

Строка, специфицирующая поле в пикселах между верхним и нижним краями изображения и окружающим текстом.

Свойство из | Image
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство vspace отражает атрибут VSPACE тэга IMG. Для изображений. созданных конструктором Image, значение свойства vspace равно 0.

Примеры

См. примеры для свойства height.

См. также

Image.border, Image.height, Image.hspace, Image.width

width

Строка, специфицирующая ширину изображения в пикселах.

Свойство из | Image
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство width отражает атрибут WIDTH тэга IMG. Для изображений, созданных конструктором Image, значение свойства width является реальной фактической, а не отображаемой, шириной изображения.

Примеры

См. примеры для свойства height.

См. также

Image.border, Image.height, Image.hspace, Image.vspace

§ ← → У


java

Объект верхнего уровня, используемый для доступа к Java-классам пакета java.*.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Объект java является в JavaScript предопределённым объектом верхнего уровня. Вы можете получать к нему доступ автоматически без использования конструктора или вызова метода.

Описание

Объект java является удобным синонимом свойства Packages.java.

См. также

Packages, Packages.java

§ ← → У


JavaArray

Обёрнутый в оболочку Java-массив, доступ к которому имеется в коде JavaScript, являющийся членом типа JavaArray.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Любым методом Java, который возвращает массив. Кроме того, Вы можете создать JavaArray из произвольного типа данных, используя метод newInstance класса Array:

public static Object newInstance(Class componentType, int length)
   throws NegativeArraySizeException

Описание

Объект JavaArray является экземпляром Java-массива, который создаётся в или передаётся в JavaScript. JavaArray является оболочкой для экземпляра; все ссылки на этот экземпляр массива делаются через JavaArray.

Вы обязаны специфицировать объект класса, такой как объект, возвращаемый java.lang.Object.forName для параметра componentType экземпляра newInstance, если Вы используете этот метод для создания массива. Вы не можете использовать объект JavaClass для параметра componentType.

Используйте индексы с базой 0 для доступа к элементам объекта JavaArray так же, как Вы делаете при доступе к элементам массива в языке Java. Например:

var javaString = new java.lang.String("Hello world!");
var byteArray  = javaString.getBytes();
byteArray[0] // возвращает 72
byteArray[1] // возвращает 101

Любые Java-данные, перенесённые в JavaScript, конвертируются в типы данных JavaScript. Если JavaArray передаётся обратно в Java, оболочка с массива снимается, и он может использоваться кодом Java. См. в книге Клиентский JavaScript. Руководство. информацию о конвертации типов данных.

Свойство. Резюме.

Свойство Описание
length

Количество элементов в Java-массиве, представляемом объектом JavaArray.

Метод. Резюме.

Метод Описание
toString

Возвращает строку, идентифицирующую объект как JavaArray.

Примеры

Пример 1. Инстанциация (создание экземпляра) JavaArray в JavaScript.

Здесь экземпляр byteArray объекта JavaArray создаётся методом java.lang.String.getBytes, который возвращает массив.

var javaString = new java.lang.String("Hello world!");
var byteArray = javaString.getBytes();

Пример 2. Инстанциация (создание экземпляра) JavaArray в JavaScript с помощью метода newInstance.

Используйте объект класса, возвращаемый java.lang.Class.forName, как аргумент для метода newInstance, как показано в следующем коде:

var dataType = java.lang.Class.forName("java.lang.String")
var dogs = java.lang.reflect.Array.newInstance(dataType, 5)

length

Количество элементов в Java-массиве, представленном объектом JavaArray.

Свойство из | JavaArray
Реализовано в | JavaScript 1.1, NES 2.0

Описание

В отличие от Array.length, JavaArray.length является свойством только для чтения. Вы не можете изменить значение свойства JavaArray.length, поскольку массивы Java всегда имеют фиксированное количество элементов.

См. также

Array.length

toString

Возвращает строковое представление объекта JavaArray.

Метод из | JavaArray
Реализован в | JavaScript 1.1, NES 2.0

Параметры

Отсутствуют.

Описание

Метод toString наследуется из объекта Object и возвращает следующее значение:

[object JavaArray]


JavaClass

JavaScript-ссылка на Java-класс.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Ссылка на имя класса, используемое с объектом Packages:

Packages.JavaClass

где JavaClass это полное квалифицированное имя Java-класса объекта. Объекты LiveConnect java, sun и netscape являются аббревиатурами для наиболее часто используемых Java-пакетов; они создают также объекты JavaClass.

Описание

Объект JavaClass является ссылкой на один из классов Java-пакета, такого как netscape.javascript.JSObject. Объект JavaPackage является ссылкой на Java-пакет, такой как netscape.javascript. В JavaScript иерархия JavaPackage и JavaClass отражает иерархию пакетов и классов Java.

Вы обязаны создать оболочку вокруг экземпляра java.lang.Class, прежде чем передать его в качестве параметра Java-методу -- JavaClass-объекты не конвертируются автоматически в экземпляры java.lang.Class.

Свойства. Резюме.

Свойства объекта JavaClass являются статическими полями Java-класса.

Методы. Резюме.

Методы объекта JavaClass являются статическими методами Java-класса.

Пример

Здесь x это объект JavaClass, ссылающийся на java.awt.Font. Поскольку BOLD является static-полем (свойством) класса Font, оно является также свойством объекта JavaClass.

x = java.awt.Font
myFont = x("helv",x.BOLD,10) // создаёт объект Font

В этом примере пропущено ключевое слово Packages и использован синоним java, поскольку класс Font находится в пакете java.

См. также

JavaArray, JavaObject, JavaPackage, Packages

§ ← → У


JavaObject

Тип Java-объекта в оболочке, доступ к которому выполняется из кода JavaScript.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Любой метод Java, который возвращает тип объекта. Кроме того, Вы можете явно конструировать JavaObject путём использования конструктора Java-объекта с ключевым словом Packages:

new Packages.JavaClass(parameterList)

где JavaClass это полное квалифицированное имя Java-класса объекта.

Параметр

parameterList

Необязательный список параметров, специфицированный конструктором в Java-классе.

Описание

Объект JavaObject является экземпляром Java-класса, который создаётся в или передаётся в JavaScript. JavaObject является оболочкой экземпляра; все ссылки на экземпляр класса делаются через JavaObject.

Любые данные Java, перенесённые в JavaScript, конвертируются в типы данных JavaScript. Если JavaObject передаётся обратно в Java, оболочка с него снимается, и он может использоваться в коде Java. См. в книге Клиентский JavaScript. Руководство. информацию о конвертации типов данных.

Свойства. Резюме.

Наследует как свойства члены public-данных из Java-класса, экземпляром которого он является. Наследует также как свойства - члены public-данных из любого суперкласса.

Методы. Резюме.

Наследует public-методы из Java-класса, экземпляром которого является. JavaObject также наследует методы из java.lang.Object и любого другого суперкласса.

Примеры

Пример 1. Инстанциация (создание экземпляра) Java-объекта в JavaScript.

Этот код создаёт JavaObject theString, который является экземпляром класса java.lang.String:

var theString = new Packages.java.lang.String("Hello, world")

Поскольку класс String находится в пакете java, Вы можете также использовать синоним java и опустить ключевое слово Packages при инстанциации класса:

var theString = new java.lang.String("Hello, world")

Пример 2. Доступ к методам Java-объекта.

Поскольку JavaObject theString является экземпляром java.lang.String, он наследует все public-методы из java.lang.String. Следующий пример использует метод startsWith для проверки того, начинается ли theString с "Hello".

var theString = new java.lang.String("Hello, world")
theString.startsWith("Hello") // возвращает true

Пример 3. Доступ к наследуемым методам.

Поскольку getClass является методом из Object и java.lang.String расширяет/extends Object, класс String наследует метод getClass. Соответственно, getClass является также методом из JavaObject, который инстанциирует String в JavaScript.

var theString = new java.lang.String("Hello, world")
theString.getClass() // возвращает java.lang.String

См. также

JavaArray, JavaClass, JavaPackage, Packages

§ ← → У


JavaPackage

Это ссылка JavaScript на Java-пакет.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Ссылка на имя пакета, используемая с ключевым словом Packages:

Packages.JavaPackage

где JavaPackage это имя Java-пакета объекта. Если пакет находится в пакете java, netscape или sun, ключевое слово Packages необязательно.

Описание

В Java пакет является коллекцией Java-классов или других Java-пакетов. Например, пакет netscape содержит пакет netscape.javascript; пакет netscape.javascript содержит классы JSObject и JSException.

В JavaScript объект JavaPackage является ссылкой на Java-пакет. Например, ссылкой на netscape является JavaPackage.
netscape.javascript является одновременно объектом JavaPackage и свойством из netscape JavaPackage.

Объект JavaClass является ссылкой на один из классов пакета, такой как netscape.javascript.JSObject. Иерархия JavaPackage и JavaClass отражает иерархию пакетов и классов Java.

Хотя пакеты и классы, содержащиеся в JavaPackage, являются его свойствами, Вы не можете использовать оператор for...in для перечисления их, как это можно сделать в других объектах.

Свойства. Резюме.

Свойства объекта JavaPackage являются JavaClass-объектами и любыми другими JavaPackage-объектами, которые он содержит.

Пример

Предположим, корпорация Redwood использует пакет Java redwood для хранения различных Java-классов, реализуемых ею. Следующий код создаёт JavaPackage red:

var red = Packages.redwood

См. также

JavaArray, JavaClass, JavaObject, Packages

§ ← → У


Layer

Соответствует слою на HTML-странице и предоставляет средства для манипулирования этим слоем.

Клиентский объект |
Реализован в | JavaScript 1.2

Создание

HTML-тэг LAYER или ILAYER или использование синтаксиса каскадных таблиц стилей. Машина выполнения JavaScript создаёт объект Layer, соответствующий каждому слою документа. Она размещает эти объекты в массиве свойства document.layers. Вы получаете доступ к объектам Layer по индексу в этом массиве.

Для определения слоя используется стандартный синтаксис HTML. Если Вы специфицируете атрибут ID, Вы можете использовать его значение для индексирования в массиве layers.

Полное описание слоёв см. в Dynamic HTML in Netscape Communicator.

Некоторые свойства layer могут быть непосредственно изменены операцией присвоения; например, "mylayer.visibility = hide". Объект layer имеет также методы для воздействия на эти свойства.

Обработчики событий

  • onMouseOver
  • onMouseOut
  • onLoad
  • onFocus
  • onBlur

Свойства. Резюме.

Свойство Описание
above

Объект layer, расположенный выше данного объекта в порядке z-order относительно всех слоёв документа, или содержащего объекта window, если этот слой - самый верхний.

background

Изображение, используемое в качестве фона канвы слоя.

bgColor

Цвет, используемый в качестве однородного цвета фона канвы слоя.

below

Объект layer, расположенный ниже данного объекта в порядке z-order относительно всех слоёв документа, или null, если этот слой - самый нижний.

clip.bottom

Нижний край отсекающего прямоугольника (видимой части слоя).

clip.height

Высота отсекающего прямоугольника (видимой части слоя).

clip.left

Левый край отсекающего прямоугольника (видимой части слоя).

clip.right

Правый край отсекающего прямоугольника (видимой части слоя).

clip.top

Верхний край отсекающего прямоугольника (видимой части слоя).

clip.width

Ширина отсекающего прямоугольника (видимой части слоя).

document

Ассоциированный документ слоя.

left

Позиция по горизонтали левого края слоя в пикселах относительно его родительского слоя.

name

Строка, специфицирующая имя, присвоенное слою атрибутом ID тэга LAYER.

pageX

Позиция слоя по горизонтали в пикселах относительно страницы.

pageY

Позиция слоя по вертикали в пикселах относительно страницы.

parentLayer

Объект layer, который содержит данный слой, или содержащий объект window, если этот слой не вложен в другой слой.

siblingAbove

Объект layer, расположенный выше данного в порядке z-order среди всех слоёв, использующих тот же самый родительский слой, или null, если слой не имеет родственников, расположенных выше него.

siblingBelow

Объект layer, расположенный ниже данного в порядке z-order среди всех слоёв, использующих тот же самый родительский слой, или null, если это самый нижний слой.

src

Строка, специфицирующая URL содержимого слоя.

top

Позиция по вертикали верхнего края слоя в пикселах относительно его родительского слоя.

visibility

Виден слой или нет.

window

Объект window или Frame, содержащий данный слой, вне зависимости от того, вложен ли слой в другой слой.

x

Удобный синоним для Layer.left.

y

Удобный синоним для Layer.top.

zIndex

Порядок z-order расположения данного слоя относительно других слоёв-родственников.

Методы. Резюме.

Метод Описание
captureEvents

Устанавливает окно или документ для захвата всех событий специфицированного типа.

handleEvent

Вызывает обработчик для специфицированного события.

load

Заменяет исходное содержимое слоя на содержимое специфицированного файла и одновременно изменяет ширину размещения HTML-содержимого слоя.

moveAbove

Помещает данный слой в стэк над слоем, специфицированным как аргумент, без изменения горизонтальной и вертикальной позиции слоя.

moveBelow

Помещает данный слой в стэк под специфицированным слоем без изменения горизонтальной и вертикальной позиции слоя.

moveBy

Изменяет позицию слоя, применяя специфицированные deltas, измеряемые в пикселах.

moveTo

Перемещает верхний левый угол окна на специфицированные координаты экрана.

moveToAbsolute

Изменяет позицию слоя на специфицированные пикселные координаты страницы (вместо содержащего слоя).

releaseEvents

Даёт слою установку освободить захваченное событие специфицированного типа, отправляя событие объекту, следующему далее по цепи иерархии.

resizeBy

Изменяет размеры слоя на специфицированные значения height и width (в пикселах).

resizeTo

Изменяет значения размеров слоя на специфицированные height и width (в пикселах).

routeEvent

Передаёт захваченное событие по нормальной цепи иерархии.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

ПРИМЕЧАНИЕ: Как и на уровне документа, если Вы хотите определить для слоя ответ на щелчок мышью, Вы обязаны захватить события onMouseDown и onMouseUp на уровне слоя и обработать их так, как нужно.

О захвате событий см. книгу Клиентский JavaScript. Руководство.

Если событие возникает в точке, где перекрываются несколько слоёв, самый верхний слой получает это событие, даже если он прозрачен. Однако, если слой является скрытым/hidden, он не получает событий.

above

Объект layer над данным слоем в порядке z-order среди всех слоев документа или содержащего объекта window, если это самый верхний слой.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

background

Изображение, используемое в качестве фона для канвы слоя (которая является частью слоя в пределах отсекающего прямоугольника).

Свойство из | Layer
Реализовано в | JavaScript 1.2

Описание

Каждый слой имеет свойство background, значением которого является объект image, атрибут src которого это URL, указывающий на изображение, используемое для размножения и заполнения фона. Значение null будет тогда, когда слой не имеет фона. Например:

layer.background.src = "fishbg.gif";

below

Объект layer, расположенный ниже данного объекта в порядке z-order относительно всех слоёв документа, или null, если этот слой - самый нижний.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

bgColor

Строка, специфицирующая цвет, используемый в качестве однородного цвета фона канвы слоя (части слоя в пределах отсекающего прямоугольника).

Свойство из | Layer
Реализовано в | JavaScript 1.2

Описание

Свойство bgColor выражается как 16-ричный RGB-триплет или как строковой литерал (см. книгу Клиентский JavaScript. Руководство). Это свойство является отражением в JavaScript атрибута BGCOLOR тэга BODY.

Вы можете установить свойство bgColor в любой момент.

Если Вы выражаете цвет как 16-ричный RGB-триплет, Вы обязаны использовать формат rrggbb. Например, 16-ричные значения RGB для цвета salmon - red=FA, green=80 и blue=72, и RGB-триплет для salmon будет, соответственно, "FA8072".

Примеры

Здесь устанавливается цвет фона канвы слоя myLayer в aqua с использованием строкового литерала:

myLayer.bgColor="aqua"

Следующий пример устанавливает цвет фона с использованием 16-ричного триплета:

myLayer.bgColor="00FFFF"

См. также

Layer.bgColor

captureEvents

Настраивает окно или документ для захвата всех событий специфицированного типа.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

captureEvents(eventType)

Параметры

eventType

Тип захватываемых событий. Допустимые типы событий перечислены в книге Клиентский JavaScript. Руководство.

Описание

Если окно с фрэймами должно захватывать события на страницах, загруженных с других серверов, Вам нужно будет использовать captureEvents в помеченном скрипте с предшествующим enableExternalCapture. Дополнительную информацию и примеры см. в разделе о enableExternalCapture.

captureEvents работает вместе с releaseEvents, routeEvent и handleEvent. Информацию по обработке событий см. в книге Клиентский JavaScript. Руководство.

clip.bottom

Нижний край отсекающего прямоугольника (видимой части слоя). Любая часть слоя, находящаяся за пределами отсекающего прямоугольника, не отображается.

Свойство из | Layer
Реализовано в | JavaScript 1.2

clip.height

Высота отсекающего прямоугольника (видимой части слоя). Любая часть слоя, находящаяся за пределами отсекающего прямоугольника, не отображается.

Свойство из | Layer
Реализовано в | JavaScript 1.2

clip.left

Левый край отсекающего прямоугольника (видимой части слоя). Любая часть слоя, находящаяся за пределами отсекающего прямоугольника, не отображается.

Свойство из | Layer
Реализовано в | JavaScript 1.2

clip.right

Правый край отсекающего прямоугольника (видимой части слоя). Любая часть слоя, находящаяся за пределами отсекающего прямоугольника, не отображается.

Свойство из | Layer
Реализовано в | JavaScript 1.2

clip.top

Верхний край отсекающего прямоугольника (видимой части слоя). Любая часть слоя, находящаяся за пределами отсекающего прямоугольника, не отображается.

Свойство из | Layer
Реализовано в | JavaScript 1.2

clip.width

Ширина отсекающего прямоугольника (видимой части слоя). Любая часть слоя, находящаяся за пределами отсекающего прямоугольника, не отображается.

Свойство из | Layer
Реализовано в | JavaScript 1.2

document

Документ, ассоциированный со слоем.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Каждый объект layer содержит свой собственный объект document. Этот объект может использоваться для доступа к изображениям, аплетам, гиперссылкам, внедрённым объектам, якорям и слоям, которые находятся в слое. Методы объекта document также могут вызываться для изменения содержимого слоя.

handleEvent

Вызывает обработчик специфицированного события.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик события.

Описание

handleEvent работает вместе с captureEvents, releaseEvents и routeEvent. Информацию по обработке событий см в книге Клиентский JavaScript. Руководство.

left

Позиция по горизонтали левого края слоя в пикселах относительно его родительского слоя.

Свойство из | Layer
Реализовано в | JavaScript 1.2

Свойство Layer.x является синонимом свойства left.

См. также

Layer.top

load

Заменяет исходное содержимое слоя на содержимое специфицированного файла и одновременно изменяет ширину размещения HTML-содержимого слоя.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

load(sourcestring, width)

Параметры

sourcestring

Строка - имя внешнего файла.

width

Ширина слоя в пикселах.

moveAbove

Помещает данный слов в стэк над слоем, специфицированным как аргумент, без изменения горизонтальной и вертикальной позиции слоя.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

moveAbove(aLayer)

Параметр

aLayer

Слой, поверх которого помещается текущий слой.

moveBelow

Помещает данный слой в стэк под специфицированным слоем без изменения горизонтальной и вертикальной позиции слоя. После рестэкирования оба слоя используют один родительский слой.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

moveBelow(aLayer)

Параметр

aLayer

Слой, ниже которого помещается текущий слой.

moveBy

Изменяет позицию слоя, применяя специфицированные deltas, измеряемые в пикселах.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

moveBy(horizontal, vertical)

Параметры

horizontal

Количество пикселов, на которое слой смещается по горизонтали.

vertical

Количество пикселов, на которое слой смещается по вертикали.

moveTo

Перемещает верхний левый угол окна на специфицированные координаты экрана.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

moveTo(x-coordinate, y-coordinate)

Параметры

x-coordinate

Целое число - верхний край окна в координатах экрана.

y-coordinate

Целое число - левый край окна в координатах экрана.

Безопасность

Для перемещения окна вызовите метод moveTo в помеченном скрипте. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Изменяет позицию слоя на специфицированные, в пикселах, координаты в пределах содержащего слоя. Для ILayers перемещает слой относительно естественной inflow-позиции слоя.

См. также

Layer.moveBy

moveToAbsolute

Изменяет позицию слоя на специфицированные пикселные координаты страницы (а не содержащего слоя).

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

moveToAbsolute(x, y)

Параметры

x

Целое число - верхний край окна в пикселных координатах.

y

Целое число - левый край окна в пикселных координатах.

Описание

Этот метод эквивалентен установке свойств pageX и pageY объекта layer.

name

Строка, специфицирующая имя, присвоенное слою атрибутом ID тэга LAYER.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

pageX

Позиция слоя в пикселах по горизонтали относительно страницы.

Свойство из | Layer
Реализовано в | JavaScript 1.2

pageY

Позиция слоя в пикселах по вертикали относительно страницы.

Свойство из | Layer
Реализовано в | JavaScript 1.2

parentLayer

Объект layer, который содержит данный слой, или содержащий объект window, если этот слой не вложен в другой слой.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

releaseEvents

Даёт слою установку освободить захваченное событие специфицированного типа, отправляя событие объекту, следующему далее по цепи иерархии.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

releaseEvents(eventType)

Параметр

eventType

Тип захватываемого события.

Описание

Если первоначальной целью события является окно, это окно получает событие даже в том случае, если оно (окно) имеет установку - освобождать события данного типа. releaseEvents работает вместе с captureEvents, routeEvent и handleEvent. Дополнительно см. книгу Клиентский JavaScript. Руководство.

resizeBy

Изменяет размеры слоя на специфицированные значения height и width (в пикселах).

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

resizeBy(width, height)

Параметры

width

Количество пикселов, на которое размер слоя изменяется по горизонтали.

height

Количество пикселов, на которое размер слоя изменяется по вертикали.

Описание

Он не распределяет HTML, содержащийся в слое. Наоборот, содержимое слоя может быть обрезано по новым границам слоя. Этот метод даёт тот же эффект, что и добавление width и height в clip.width и clip.height.

resizeTo

Изменяет значения размеров слоя на специфицированные height и width (в пикселах).

Метод из | Layer
Реализован в | JavaScript 1.2

Описание

Он не распределяет HTML, содержащийся в слое. Наоборот, содержимое слоя может быть обрезано по новым границам слоя.

Синтаксис

resizeTo(width, height)

Параметры

width

Целое число, представляющее ширину слоя в пикселах.

height

Целое число, представляющее высоту слоя в пикселах.

Описание

Этот метод даёт тот же эффект, что и установка clip.width и clip.height.

routeEvent

Передаёт захваченное событие по нормальной цепи иерархии.

Метод из | Layer
Реализован в | JavaScript 1.2

Синтаксис

routeEvent(event)

Параметр

event

Передаваемое событие.

Описание

Если субобъект (документ или слой) также захватывает событие, это событие передаётся этому объекту. Иначе оно пересылается цели-оригиналу.

routeEvent работает вместе с captureEvents, releaseEvents и handleEvent. Дополнительно см. книгу Клиентский JavaScript. Руководство.

siblingAbove

Объект layer, расположенный выше данного в порядке z-order среди всех слоёв, использующих тот же самый родительский слой, или null, если слой не имеет родственников, расположенных выше него.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

siblingBelow

Объект layer, расположенный ниже данного в порядке z-order среди всех слоёв, использующих тот же самый родительский слой, или null, если это самый нижний слой.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

src

Строка, специфицирующая URL содержимого слоя. Соответствует атрибуту SRC.

Свойство из | Layer
Реализовано в | JavaScript 1.2

top

Позиция по вертикали верхнего края слоя в пикселах относительно его родительского слоя.

Свойство из | Layer
Реализовано в | JavaScript 1.2

Свойство Layer.y является синонимом свойства top.

См. также

Layer.left

visibility

Виден слой или нет.

Свойство из | Layer
Реализовано в | JavaScript 1.2

Описание

Значение show - показать слой; hide - скрыть слой; inherit - наследовать видимость от родительского слоя.

window

Объект window или Frame , содержащий этот слой , вне зависимости от того, вложен ли данный слой в другой слой.

Свойство из | Layer
Только для чтения |
Реализовано в | JavaScript 1.2

x

Позиция по горизонтали левого края слоя в пикселах относительно родительского слоя.

Свойство из | Layer
Реализовано в | JavaScript 1.2

Свойство x это синоним свойства Layer.left.

См. также

Layer.y

y

Позиция по вертикали левого края слоя в пикселах относительно родительского слоя.

Свойство из | Layer
Реализовано в | JavaScript 1.2

Свойство y это синоним свойства Layer.top.

См. также

Layer.x

zIndex

Порядок z-order расположения данного слоя относительно других слоёв-родственников.

Метод из | Layer
Реализован в | JavaScript 1.2

Описание

Слои-родственники с более низкими z-индексами помещаются в стэке под данным слоем. Значение zIndex обязано быть 0 или положительным целым числом.


Link

Участок текста, изображение или область изображения, идентифицируемая как гипертекстовая ссылка. Если пользователь щёлкает текст, изображение или область, объект/документ загружается в окно назначения. Area-объекты являются типом объекта Link.

Клиентский объект

Реализован в

JavaScript 1.0

JavaScript 1.1: добавлен обработчик onMouseOut; добавлены объекты Area; links-массивы содержат области, созданные тэгом <AREA href="./?f=...">

JavaScript 1.2: добавлены свойства x и y; добавлен метод handleEvent.

Создание

HTML-тэгами A или AREA или вызовом метода String.link. Машина выполнения JavaScript создаёт объекты Link для всех тэгов A и AREA в Вашем документе, предоставляющих атрибут HREF. Она помещает эти объекты в массив свойства document.links. Вы получаете доступ к объекту Link по индексу в этом массиве.

Для определения ссылки тэгом A или AREA используется стандартный синтаксис HTML с добавлением обработчиков событий JavaScript.

Определение ссылки методом String.link:

theString.link(hrefAttribute)

где:

theString

String-объект.

hrefAttribute

Любая строка, специфицирующая атрибут HREF тэга A; она должна быть правильным URL (относительным или абсолютным).

Обработчики событий

Area-объекты имеют следующие обработчики:

  • onDblClick
  • onMouseOut
  • onMouseOver

Link-объекты имеют следующие обработчики:

  • onClick
  • onDblClick
  • onKeyDown
  • onKeyPress
  • onKeyUp
  • onMouseDown
  • onMouseOut
  • onMouseUp
  • onMouseOver

Описание

Каждый Link является location-объектом и имеет те же свойства, что и location-объект.

Если Link-объект является также Anchor-объектом, он имеет вхождения и в массиве anchors, и в массиве links.

Если пользователь щёлкает Link-объект и переходит к документу назначения (специфицируемому атрибутом href="./?f=locationOrURL"), свойство referrer документа назначения содержит URL исходного документа.

Вы можете использовать Link-объект для выполнения функции JavaScript, а не для перехода по ссылке, специфицировав URL-протокол javascript: в атрибуте HREF гиперссылки. Вам это может понадобиться, если ссылка содержит объект Image и Вы хотите выполнить код JavaScript при щелчке по изображению. Либо Вам может понадобиться использовать ссылку вместо кнопки для выполнения кода JavaScript.

Например, если пользователь щёлкает по следующим ссылкам, выполняются функции slower и faster:

<A href="./?f=javascript:slower()">Slower</A>
<A href="./?f=javascript:faster()">Faster</A>

Вы можете использовать объект Link, чтобы не выполнять никаких действий, специфицировав URL-протокол javascript:void(0) в атрибуте HREF гиперссылки. Вам это может понадобиться, если ссылка окружает объект Image и Вы хотите использовать обработчики события ссылки для изображения. Если пользователь щёлкает по следующим ссылкам, ничего не происходит:

<A href="./?f=javascript:void(0)">Click here to do nothing</A>
<A href="./?f=javascript:void(0)">
   <IMG SRC="images\globe.gif" ALIGN="top" HEIGHT="50" WIDTH="50">
</A>

Свойства. Резюме.

Свойство Описание
hash

Специфицирует имя якоря в URL.

host

Специфицирует хост и имя домена или IP-адрес сетевого хоста.

hostname

Специфицирует часть host:port из URL.

href

Специфицирует весь URL.

pathname

Специфицирует часть URL-пути из URL.

port

Специфицирует порт, используемый сервером.

protocol

Специфицирует начало URL, включая двоеточие.

search

Специфицирует строку запроса.

target

Отражает атрибут TARGET.

text

Строка, содержащая содержимое соответствующего тэга A.

x

Позиция левого края ссылки по горизонтали в пикселах относительно левого края документа.

y

Позиция верхнего края ссылки по вертикали в пикселах относительно верхнего края документа.

Метод. Резюме.

Метод Описание
handleEvent

Вызывает обработчик для специфицированного события.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Следующий пример создаёт гипертекстовую ссылку на якорь javascript_intro:

<A href="#javascript_intro">Introduction to JavaScript</A>

Пример 2. Здесь создаётся гиперссылка на якорь numbers в файле doc3.html в окне window2. Если window2 не существует, оно создаётся.

<LI><A HREF=doc3.html#numbers TARGET="window2">Numbers</A>

Пример 3. Здесь пользователь переходит на x вхождений назад в списке history:

<A href="./?f=javascript:history.go(-1 * x)">Click here</A>

Пример 4. Здесь создаётся гиперссылка на URL. Пользователь может использовать набор радио-кнопок для выбора из трёх URL. Обработчик onClick ссылки устанавливает URL (свойство href ссылки) на основе выбранной кнопки. Ссылка также имеет обработчик onMouseOver, который изменяет свойство status окна. Как показано в примере, Вы обязаны вернуть true для установки свойства window.status в обработчике onMouseOver.

<SCRIPT>
var desthref="http://home.netscape.com/"
</SCRIPT>
<FORM NAME="form1">
<B>Choose a destination from the following list, then click "Click me" below.</B>
<BR><INPUT TYPE="radio" NAME="destination" VALUE="netscape"
   onClick="destHREF='http://home.netscape.com/'"> Netscape home page
<BR><INPUT TYPE="radio" NAME="destination" VALUE="sun"
   onClick="destHREF='http://www.sun.com/'"> Sun home page
<BR><INPUT TYPE="radio" NAME="destination" VALUE="rfc1867"
   onClick="destHREF='http://www.ics.uci.edu/pub/ietf/html/rfc1867.txt'"> RFC 1867
<P><A href="./?f="
   onMouseOver="window.status='Click this if you dare!'; return true"
   onClick="this.href=destHREF">
   <B>Click me</B></A>
</FORM>

Пример 5: Массив links. В этом примере функция linkGetter использует массив links для вывода значений каждой ссылки текущего документа. Этот пример определяет также несколько ссылок и кнопку для запуска linkGetter.

function linkGetter() {
   msgWindow=window.open("","msg","width=400,height=400")
   msgWindow.document.write("links.length is " +
      document.links.length + "<BR>")
   for (var i = 0; i < document.links.length; i++) {
      msgWindow.document.write(document.links[i] + "<BR>")
   }
}
<A href="http://home.netscape.com">Netscape Home Page</A>
<A href="http://www.catalog.com/fwcfc/">China Adoptions</A>
<A href="http://www.supernet.net/~dugbrown/">Bad Dog Chronicles</A>
<A href="http://www.best.com/~doghouse/homecnt.shtml">Lab Rescue</A>
<P>
<INPUT TYPE="button" VALUE="Display links"
   onClick="linkGetter()">

Пример 6: Обращение к Area-объекту через массив links. Здесь код обращается к свойству href первого Area-объекта, показанного в Примере 1.

document.links[0].href

Пример 7: Area-объект с обработчиками onMouseOver и onMouseOut. Здесь выводится изображение globe.gif. Это изображение использует карту изображений/image map, которая определяет области верхней и нижней половин рисунка. Обработчики onMouseOver и onMouseOut выводят разные сообщения в статусной строке в зависимости от того, проходит курсор мыши над верхней или нижней половиной рисунка. Атрибут HREF необходим при использовании обработчиков onMouseOver и onMouseOut, но в этом примере рисунок не должен быть гиперссылкой, поэтому атрибут HREF выполняет javascript:void(0), которая ничего не делает.

<MAP NAME="worldMap">
   <AREA NAME="topWorld" COORDS="0,0,50,25" href="./?f=javascript:void(0)"
      onMouseOver="self.status='You are on top of the world';return true"
      onMouseOut="self.status='You have left the top of the world';return true">
   <AREA NAME="bottomWorld" COORDS="0,25,50,50" href="./?f=javascript:void(0)"
      onMouseOver="self.status='You are on the bottom of the world';return true"
      onMouseOut="self.status='You have left the bottom of the world';return true">
</MAP>
<IMG SRC="images\globe.gif" ALIGN="top" HEIGHT="50" WIDTH="50" USEMAP="#worldMap">

Пример 8: Симуляция обработчика onClick Area-объекта через использование атрибута HREF. Следующий пример использует атрибут HREF Area-объекта для выполнения функции JavaScript. Выводимый рисунок, colors.gif, показывает два цвета. Верхняя половина рисунка имеет цвет antiquewhite, а нижняя - white. Если пользователь щёлкает по верхней или нижней половине рисунка, функция setBGColor изменяет цвет фона документа на цвет из рисунка.

<SCRIPT>
function setBGColor(theColor) {
   document.bgColor=theColor
}
</SCRIPT>
Click the color you want for this document's background color
<MAP NAME="colorMap">
   <AREA NAME="topColor" COORDS="0,0,50,25" href="./?f=javascript:setBGColor('antiquewhite')">
   <AREA NAME="bottomColor" COORDS="0,25,50,50" href="./?f=javascript:setBGColor('white')">
</MAP>
<IMG SRC="images\colors.gif" ALIGN="top" HEIGHT="50" WIDTH="50" USEMAP="#colorMap">

См. также

Anchor, Image, link

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Link
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик события.

Описание

Об обработке событий см. книгу Клиентский JavaScript. Руководство.

hash

Строка, начинающаяся со знака хэша (#), которая специфицирует имя якоря в URL.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство hash специфицирует часть URL. Это свойство применяется только к HTTP URL.

Будьте внимательны при использовании этого свойства. Предположим, document.links[0] содержит:

http://royalairways.com/fish.htm#angel

Тогда document.links[0].hash возвратит #angel. Предположим, у Вас имеется такой код:

hash = document.links[0].hash;
document.links[0].hash = hash;

Теперь document.links[0].hash возвращает ##angel.

Это поведение может быть изменено в последующих версиях.

Вы можете установить свойство hash в любой момент, хотя безопаснее делать это до изменения расположения. Если хэш, который Вы специфицируете, не может быть найден в текущем месте, Вы получите ошибку.

Установка свойства hash выполняет переход к именованному якорю без перезагрузки документа. Это отличается от способа загрузки документа при установке свойств link.

См. в документе RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о хэше.

См. также

Link.host, Link.hostname, Link.href, Link.pathname, Link.port, Link.protocol, Link.search

host

Строка, специфицирующая имя сервера, субдомен и домен.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство host специфицирует часть URL. Свойство host является подстрокой свойства hostname. Свойство hostname образуется путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение null, свойство host имеет то же значение, что и свойство hostname.

Вы можете установить свойство host в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами хост не может быть найден в текущем месте, Вы получите ошибку.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о hostname и port.

См. также

Link.hash, Link.hostname, Link.href, Link.pathname, Link.port, Link.protocol, Link.search

hostname

Строка, содержащая полное имя хоста сервера, включая имя сервера, субдомен, домен и номер порта.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство hostname специфицирует часть URL. Свойство hostname образуется путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение 80 (это значение по умолчанию), свойство host имеет то же значение, что и свойство hostname.

Вы можете установить свойство hostname в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированное Вами имя хоста не может быть найдено в текущем месте, Вы получите ошибку.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о hostname.

См. также

Link.host, Link.hash, Link.href, Link.pathname, Link.port, Link.protocol, Link.search

href

Строка, специфицирующая полный URL.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство href специфицирует весь URL целиком. Другие свойства объекта link являются подстроками свойства href.

Вы можете установить свойство href в любой момент.

См. в RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о URL.

См. также

Link.hash, Link.host, Link.hostname, Link.pathname, Link.port, Link.protocol, Link.search

pathname

Строка, специфицирующая часть URL-пути в URL.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство pathname специфицирует часть URL. Оно даёт детальную информацию о том, как может быть достигнут специфицированный ресурс.

Вы можете установить свойство pathname в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами pathname не может быть найден в текущем месте, Вы получите ошибку.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о pathname.

См. также

Link.host, Link.hostname, Link.hash, Link.href, Link.port, Link.protocol, Link.search

port

Строка, специфицирующая порт соединения, используемый сервером.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство port специфицирует часть URL. Свойство port является подстрокой свойства hostname. Свойство hostname образуется путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение 80 (это значение по умолчанию), свойство host имеет то же значение, что и свойство hostname.

Вы можете установить свойство port в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами port не может быть найден в текущем месте, Вы получите ошибку. Если свойство port не специфицировано, по умолчанию предполагается номер порта 80.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о port.

См. также

Link.host, Link.hostname, Link.hash, Link.href, Link.pathname, Link.protocol, Link.search

protocol

Строка, специфицирующая начало URL до двоеточия включительно.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство protocol специфицирует часть URL. Оно указывает метод доступа к URL. Например, значение "http:" специфицирует HyperText Transfer Protocol, а значение "javascript:" специфицирует код JavaScript.

Вы можете установить свойство protocol в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированный Вами не может быть найден в текущем месте, Вы получите ошибку.

Свойство protocol представляет схему именования URL. См. в Разделе 2.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о protocol.

См. также

Link.host, Link.hostname, Link.hash, Link.href, Link.pathname, Link.port, Link.search

search

Строка, начинающаяся со знака вопроса (?), которая специфицирует запрос информации через URL.

Свойство из | Link
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство search является частью URL. Это свойство применяется только к http URLs.

Свойство search содержит пары переменная/значение; каждая пара отделена амперсандом. Например, две пары в строке поиска могут выглядеть так:

?x=7&y=5

Вы можете установить свойство search в любой момент, хотя безопаснее установить свойство href для изменения местоположения. Если специфицированное Вами search не может быть найдено в текущем месте, Вы получите ошибку.

См. в Разделе 3.3 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о search.

См. также

Link.host, Link.hostname, Link.hash, Link.href, Link.pathname, Link.port, Link.protocol

target

Строка, специфицирующая имя окна, в котором отображается содержимое, на которое указывает гиперссылка.

Свойство из | Link
Реализовано в | JavaScript 1.0

Описание

Свойство target первоначально отражает значение атрибута TARGET тэгов A или AREA; однако установка target переопределяет этот атрибут.

Вы можете установить target с использованием строки, если строка представляет имя окна. Свойству target не может быть присвоено значение переменной или выражения JavaScript.

Вы можете установить свойство target в любой момент.

Пример

Здесь специфицируется, что ответы на форму musicInfo отображаются в окне msgWindow:

document.musicInfo.target="msgWindow"

См. также

Form

text

Строка, содержащая содержимое соответствующего тэга A.

Свойство из | Link
Реализовано в | JavaScript 1.2

x

Позиция левого края ссылки по горизонтали в пикселах относительно левого края документа.

Свойство из | Link
Только для чтения |
Реализовано в | JavaScript 1.2

См. также

Link.y

y

Позиция верхнего края ссылки по вертикали в пикселах относительно верхнего края документа.

Свойство из | Link
Только для чтения |
Реализовано в | JavaScript 1.2

См. также

Link.x
§ ← → У


Location

Содержит информацию о текущем URL.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлены методы reload, replace.

Создание

Location-объекты являются предопределёнными объектами JavaScript, доступ к которым Вы можете получить через свойство location объекта window.

Описание

Объект location представляет полный URL, ассоциированный с данным объектом window. Каждое свойство объекта location представляет разные части URL.

В целом URL имеет форму:

protocol//host:port/pathname#hash?search

Например:

http://home.netscape.com/assist/extensions.html#topic1?x=7&y=2

Эти части имеют следующее предназначение:

  • protocol представляет начало URL до первого двоеточия включительно.
  • host это имя хоста и домена или IP-адрес сетевого хоста.
  • port это порт соединения, используемый сервером.
  • pathname это часть URL-путь URL.
  • hash это фрагмент имени якоря в URL, включая символ хэша (#). Это свойство применяется только к HTTP URLs.
  • search это информация запроса, присоединённая к URL, включая знак вопроса (?). Это свойство применяется только к HTTP URLs. Строка поиска содержит пары переменная/значение; каждая пара отделена амперсандом (&).

Объект Location имеет свойства для всех частей URL. См. конкретные свойства. Объект Location имеет ещё два свойства:

  • href - полный URL.
  • hostname - конкатенация свойств host:port.

Если Вы присваиваете строку свойству location объекта, JavaScript создаёт объект location и присваивает эту строку его свойству href. Например, следующие два оператора эквивалентны и устанавливают URL для текущего окна - домашнюю страницу Netscape:

window.location.href="http://home.netscape.com/"
window.location="http://home.netscape.com/"

Объект location содержится в объекте window и находится в его области видимости/scope. Если Вы обращаетесь к объекту location без специфицирования window, объект location представляет текущее окно. Если Вы обращаетесь к объекту location и специфицируете имя окна, как, например, windowReference.location, объект location представляет местоположение в специфицированном окне.

В обработчиках событий Вы обязаны специфицировать window.location, а не просто location. Из-за ограничений области видимости static-объектов JavaScript, вызов location без специфицирования имени объекта эквивалентно document.location, что является синонимом для document.URL.

Location не является свойством объекта document; его эквивалентом является свойство document.URL. Свойство document.location, являющееся синонимом для document.URL, применять не рекомендуется.

Как документы загружаются при установленном location. Если Вы установили объект location или любое из его свойств, за исключением hash, то, как загружается новый документ, зависит от версии используемого браузера:

  • В JavaScript 1.0 установка location выполняет условную операцию ("If-modified-since") HTTP GET, которая не возвращает с сервера, если только документ не был модифицирован с момента загрузки последней версии.
  • В JavaScript 1.1 и позднее эффект от установки location зависит от установок пользователя для сравнения документа с оригиналом по сети. Опция интерфейса пользователя для установки этого свойства зависит от версии браузера. Пользователь определяет, проверять ли документ в кэше браузера каждый раз при доступе к нему, один раз в сессию или никогда. Документ перезагружается из кэша, если пользователь установил опции "никогда" или "один раз в сессию"; документ перезагружается с сервера только в том случае, если пользователь установил опцию "каждый раз при доступе".

Синтаксис обычных типов URL. Если Вы специфицируете URL, можно использовать стандартные форматы URL и операторы JavaScript. В таблице показан синтаксис для специфицирования наиболее распространённых типов URL.

Таблица 1.1 Синтаксис URL.
URL-тип | Протокол | Пример
JavaScript-код | javascript: | javascript:history.go(-1)
Программа просмотра исходного кода в Navigator'е | view-source: | view-source:wysiwyg://0/file:/c|/temp/genhtml.html
Navigator info | about: | about:cache
World Wide Web | http: | http://home.netscape.com/
File | file:/ | file:///javascript/methods.html
FTP | ftp: | ftp://ftp.mine.com/home/mine
MailTo | mailto: | mailto:info@netscape.com
Usenet | news: | news://news.scruznet.com/comp.lang.javascript
Gopher | gopher: | gopher.myhost.com

Далее идут пояснения по некоторым протоколам:

  • Протокол javascript: вычисляет выражение, идущее после двоеточия (:), если оно имеется, и загружает страницу, содержащую строковое значение выражения, если только оно не undefined. Если выражение вычисляется в undefined (вызовом void-функции, например, javascript:void(0)), новая страница не загружается. Обратите внимание, что загрузка новой страницы поверх Вашей страницы со скриптом очищает значения переменных страницы, функции и т.п.
  • Протокол view-source: выводит код HTML, который был сгенерирован методами JavaScript-методами document.write и document.writeln. О печати и сохранении сгенерированного HTML см. document.write.
  • Протокол about: предоставляет информацию о Navigator'е. Например:

    • about: этот то же, что и выбор меню About Communicator из Help.
    • about:cache отображает статистику кэширования.
    • about:plugins выводит информацию о plug-ins, сконфигурированных Вами. Это то же самое, что выбор меню About Plug-ins из Help.

Свойства. Резюме.

Свойство Описание
hash

Специфицирует имя якоря в URL.

host

Специфицирует имя хоста и домена или IP-адрес сетевого хоста.

hostname

Специфицирует часть host:port в URL.

href

Специфицирует полный URL.

pathname

Специфицирует часть URL-пути в URL.

port

Специфицирует порт, используемый сервером при соединении.

protocol

Специфицирует начало URL, включая двоеточие.

search

Специфицирует запрос.

Методы. Резюме.

Метод Описание
reload

Форсирует перезагрузку текущего документа окна.

replace

Загружает специфицированный URL поверх текущего вхождения в списке history.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Следующие два эквивалентных оператора устанавливают URL текущего окна - домашнюю страницу Netscape:

window.location.href="http://home.netscape.com/"
window.location="http://home.netscape.com/"

Пример 2. Следующий оператор устанавливает URL фрэйма frame2 - домашнюю страницу Sun:

parent.frame2.location.href="http://www.sun.com/"

См. также примеры для Anchor.

См. также

History, document.URL

hash

Строка, начинающаяся со знака хэша (#), специфицирующая имя якоря в URL.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство hash специфицирует часть URL. Это свойство применяется только к HTTP URL.

Вы можете установить свойство hash в любое время, хотя надёжнее установить свойство href для изменения местоположения. Если установленное Вами свойство hash не может быть найдено в текущем месте, Вы получите ошибку.

Установка свойства hash даёт переход к именованному якорю без перезагрузки документа. Это отличается от загрузки документа при установке других location-свойств (см. "Как загружаются документы при установке location").

См. в документе RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о hash.

Пример

Здесь оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Операторы document.write выводят свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.hash = " +
   newWindow.location.hash + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.hash = #checkbox_object

См. также

Location.host, Location.hostname, Location.href, Location.pathname, Location.port, Location.protocol, Location.search

host

Строка, специфицирующая имя сервера, субдомена и домена.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство host специфицирует часть URL. Свойство host является подстрокой свойства hostname. Свойство hostname получается путём конкатенации свойств host и port, разделённых двоеточием. Если значение свойства port равно null, свойство host будет тем же самым, что и свойство hostname.

Вы можете установить свойство host в любое время, хотя надёжнее установить свойство href для изменения местоположения. Если host не может быть найдено в текущем месте, Вы получите ошибку.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о hostname и port.

Пример

Здесь оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Операторы document.write отображают свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.host = " +
   newWindow.location.host + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.host = home.netscape.com

См. также

Location.hash, Location.hostname, Location.href, Location.pathname, Location.port, Location.protocol, Location.search

hostname

Строка, содержащая полное имя хоста сервера, включая имя сервера, субдомена и домена и номер порта.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство hostname специфицирует часть URL. Свойство hostname получается путём конкатенации свойств host и port, разделённых двоеточием. Если свойство port имеет значение 80 (это значение по умолчанию), свойство host будет таким же, что и свойство hostname.

Вы можете установить свойство hostname в любое время, хотя надёжнее установить свойство href для изменения местоположения. Если специфицированное Вами свойство hostname не может быть найдено в текущем месте, Вы получите ошибку.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о hostname.

Примеры

Здесь оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Операторы document.write отображают свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.hostName = " +
   newWindow.location.hostName + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.hostName = home.netscape.com

См. также

Location.hash, Location.host, Location.href, Location.pathname, Location.port, Location.protocol, Location.search

href

Строка, специфицирующая полный URL.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство href специфицирует полный URL. Другие свойства объекта location являются подстроками свойства href. Если Вам необходимо изменить URL, ассоциированный с окном, Вы должны изменить свойство href; это корректно обновит все другие свойства.

Вы можете установить свойство href в любое время.

Отсутствие свойства при указании объекта location равносильно специфицированию location.href. Например, следующие два оператора эквивалентны и устанавливают URL текущего окна - домашнюю страницу Netscape:

window.location.href="http://home.netscape.com/"
window.location="http://home.netscape.com/"

См. в документе RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о URL.

Пример

В этом примере оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Оператор document.write отображает все свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.protocol = " +
   newWindow.location.protocol + "<P>")
msgWindow.document.write("newWindow.location.host = " +
   newWindow.location.host + "<P>")
msgWindow.document.write("newWindow.location.hostName = " +
   newWindow.location.hostName + "<P>")
msgWindow.document.write("newWindow.location.port = " +
   newWindow.location.port + "<P>")
msgWindow.document.write("newWindow.location.pathname = " +
   newWindow.location.pathname + "<P>")
msgWindow.document.write("newWindow.location.hash = " +
   newWindow.location.hash + "<P>")
msgWindow.document.write("newWindow.location.search = " +
   newWindow.location.search + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.protocol = http:
newWindow.location.host = home.netscape.com
newWindow.location.hostName = home.netscape.com
newWindow.location.port =
newWindow.location.pathname =
   /comprod/products/navigator/version_2.0/script/
   script_info/objects.html
newWindow.location.hash = #checkbox_object
newWindow.location.search =

См. также

Location.hash, Location.host, Location.hostname, Location.pathname, Location.port, Location.protocol, Location.search

pathname

Строка, специфицирующая часть URL-path в URL.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство pathname специфицирует часть URL. Свойство pathname указывает детали получения доступа к специфицированному ресурсу.

Вы можете установить свойство pathname в любое время, хотя надёжнее установить свойство href для изменения местоположения. Если специфицированное Вами свойство pathname не может быть найдено в текущем месте, Вы получите ошибку.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о pathname.

Примеры

В этом примере оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Операторы document.write выводят свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.pathname = " +
   newWindow.location.pathname + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.pathname =
   /comprod/products/navigator/version_2.0/script/
   script_info/objects.html

См. также

Location.hash, Location.host, Location.hostname, Location.href, Location.port, Location.protocol, Location.search

port

Строка, специфицирующая коммуникационный порт, используемый сервером.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство port специфицирует часть URL. Свойство port является подстрокой свойства hostname. Свойство hostname получается путём конкатенации свойств host и port, разделённых двоеточием.

Вы можете установить свойство port в любое время, хотя надёжнее установить свойство href для изменения местоположения. Если специфицированное Вами свойство port не может быть найдено в текущем месте, Вы получите ошибку. Если свойство port не специфицировано, он имеет значение по умолчанию 80.

См. в Разделе 3.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о port.

Пример

В этом примере оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Операторы document.write выводят свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.port = " +
   newWindow.location.port + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.port =

См. также

Location.hash, Location.host, Location.hostname, Location.href, Location.pathname, Location.protocol, Location.search

protocol

Строка, специфицирующая начало URL до первого двоеточия включительно.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство protocol специфицирует часть URL. Свойство protocol указывает метод доступа URL. Например, значение "http:" специфицирует протокол HyperText Transfer Protocol, а значение "javascript:" специфицирует код JavaScript.

Вы можете установить свойство protocol в любое время, хотя надёжнее установить свойство href для изменения местоположения. Если специфицированное Вами свойство protocol не может быть найдено в текущем месте, Вы получите ошибку.

Свойство protocol представляет имя схемы URL. См. в Разделе 2.1 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о protocol.

Пример

В этом примере оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Операторы document.write отображают свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.write("newWindow.location.protocol = " +
   newWindow.location.protocol + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://home.netscape.com/comprod/products/navigator/
   version_2.0/script/script_info/objects.html#checkbox_object
newWindow.location.protocol = http:

См. также

Location.hash, Location.host, Location.hostname, Location.href, Location.pathname, Location.port, Location.search

reload

Форсирует перезагрузку текущего документа окна (документа, специфицированного свойством Location.href).

Метод из | Location
Реализован в | JavaScript 1.1

Синтаксис

reload([forceGet])

Параметр

forceGet

Если вы задаёте значение true, форсирует безусловный HTTP GET документа с сервера. Он не должен использоваться, пока Вы не убедитесь, что кэши диска и памяти не исчерпаны и не нарушены или что сервер не имеет новую версию документа (например, если он генерируется с помощью CGI при каждом запросе).

Описание

Этот метод использует ту же политику, что и кнопка Reload браузера. Интерфейс пользователя для установки значения по умолчанию этой политики варьируется для различных версий браузеров.

По умолчанию метод reload не форсирует транзакцию сервера. Однако, если пользователь установил проверку версии документа при каждом доступе к нему, этот метод выполняет "условный GET-запрос" с использованием HTTP header/шапки If-modified-since для получения с сервера запрашиваемого документа только в том случае, если время last-modified новее, чем время, хранимое в кэше клиента. Другими словами, reload перезагружает документ из кэша только в том случае, если не специфицирована проверка каждый раз и документ не изменился на сервере с момента его последней загрузки и сохранения в кэше.

Пример

С этом примере выводятся рисунок и три радио-кнопки. Пользователь может щёлкнуть радио-кнопки для выбора рисунка для отображения. Щелчок по другой кнопке даёт пользователю возможность перезагрузить документ.

<SCRIPT>
function displayImage(theImage) {
   document.images[0].src=theImage
}
</SCRIPT>
<FORM NAME="imageForm">
<B>Choose an image:</B>
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image1" CHECKED
   onClick="displayImage('seaotter.gif')">Sea otter
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image2"
   onClick="displayImage('orca.gif')">Killer whale
<BR><INPUT TYPE="radio" NAME="imageChoice" VALUE="image3"
   onClick="displayImage('humpback.gif')">Humpback whale
<BR>
<IMG NAME="marineMammal" SRC="seaotter.gif" ALIGN="left" VSPACE="10">
<P><INPUT TYPE="button" VALUE="Click here to reload"
   onClick="window.location.reload()">
</FORM>

См. также

Location.replace

replace

Загружает специфицированный URL поверх текущего вхождения в списке history.

Метод из | Location
Реализован в | JavaScript 1.1

Синтаксис

replace(URL)

Параметр

URL

Строка, специфицирующая URL для загрузки.

Описание

Метод replace загружает специфицированный URL поверх текущего вхождения в списке history. После вызова метода replace пользователь не может перейти к предыдущему URL, щёлкнув кнопку Back браузера.

Если Ваша программа работает с JavaScript 1.0, Вы можете поместить следующие строки в тэг SCRIPT перед Вашей программой. Это эмулирует replace, который был введён в JavaScript 1.1:

if (location.replace == null)
   location.replace = location.assign

Метод replace не создаёт новое вхождение в списке history. Для создания нового вхождения в списке history при загрузке URL используйте метод History.go.

Пример

В этом примере пользователь может выбрать из нескольких каталогов. Выводятся два набора радио-кнопок, щёлкая которые пользователь выбирает время года и категорию, например, каталог Spring/Summer Clothing или каталог Fall/Winter Home & Garden. Если пользователь щёлкает кнопку Go, функция displayCatalog выполняет метод replace, замещая текущий URL на URL, соответствующий выбранному каталогу. После вызова displayCatalog пользователь не может перейти к предыдущему URL (списку каталогов) путём использования кнопки Back браузера.

<SCRIPT>
function displayCatalog() {
   var seaName=""

   var catName=""
   for (var i=0; i < document.catalogForm.season.length; i++) {
      if (document.catalogForm.season[i].checked) {
         seaName=document.catalogForm.season[i].value
         i=document.catalogForm.season.length
      }
   }
   for (var i in document.catalogForm.category) {
      if (document.catalogForm.category[i].checked) {
         catName=document.catalogForm.category[i].value
         i=document.catalogForm.category.length
      }
   }
   fileName=seaName + catName + ".html"
   location.replace(fileName)
}
</SCRIPT>
<FORM NAME="catalogForm">
<B>Which catalog do you want to see?</B>
<P><B>Season</B>
<BR><INPUT TYPE="radio" NAME="season" VALUE="q1" CHECKED>Spring/Summer

<BR><INPUT TYPE="radio" NAME="season" VALUE="q3">Fall/Winter
<P><B>Category</B>
<BR><INPUT TYPE="radio" NAME="category" VALUE="clo" CHECKED>Clothing
<BR><INPUT TYPE="radio" NAME="category" VALUE="lin">Linens
<BR><INPUT TYPE="radio" NAME="category" VALUE="hom">Home & Garden
<P><INPUT TYPE="button" VALUE="Go" onClick="displayCatalog()">
</FORM>

См. также

History, window.open, History.go, Location.reload

search

Строка, начинающаяся со знака вопроса, которая специфицирует в URL любую информацию запроса.

Свойство из | Location
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. По умолчанию это свойство разрушено/запорчено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство search специфицирует часть URL. Это свойство применяется только к HTTP URLs.

Свойство search содержит пары переменная/значение; каждая пара отделяется амперсандом (&). Например, две пары в строке search могут выглядеть так:

?x=7&y=5

Вы можете установить свойство search в любое время, хотя надёжнее установить свойство href для изменения местоположения. Если установленное Вами свойство search не может быть найдено в текущем месте, Вы получите ошибку.

См. в Разделе 3.3 документа RFC 1738 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1738.html) полную информацию о search.

Пример

В этом примере оператор window.open создаёт окно newWindow и загружает в него специфицированный URL. Операторы document.write выводят свойства newWindow.location в окне msgWindow.

newWindow=window.open
   ("http://guide-p.infoseek.com/WW/NS/Titles?qt=RFC+1738+&col=WW")
msgWindow.document.write("newWindow.location.href = " +
   newWindow.location.href + "<P>")
msgWindow.document.close()
msgWindow.document.write("newWindow.location.search = " +
   newWindow.location.search + "<P>")
msgWindow.document.close()

Этот пример даст на выходе:

newWindow.location.href =
   http://guide-p.infoseek.com/WW/NS/Titles?qt=RFC+1738+&col=WW
newWindow.location.search = ?qt=RFC+1738+&col=WW

См. также

Location.hash, Location.host, Location.hostname, Location.href, Location.pathname, Location.port, Location.protocol
§ ← → У


Math

Встроенный объект, имеющий свойства и методы для работы с математическими константами и функциями. Например, свойство PI объекта Math содержит значение pi.

Объект ядра
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Создание

Объект Math является предопределённым объектом верхнего уровня в JavaScript. Вы можете автоматически получать к нему доступ без использования конструктора или вызова метода.

Описание

Все свойства объекта Math являются static/статическими. Вы обращаетесь к константе PI так: Math.PI, и можете вызвать функцию вычисления синуса так: Math.sin(x), где x это аргумент метода. Константы определяются с полной точностью реальных чисел JavaScript.

Часто бывает удобно использовать оператор with при работе с несколькими константами и методами объекта Math, так, чтобы не вводить постоянно "Math". Например:

with (Math) {
   a = PI * r*r
   y = r*sin(theta)
   x = r*cos(theta)
}

Свойства. Резюме.

Свойство Описание
E

Эйлерова константа и база натуральных логарифмов, приблизительно 2.718.

LN10

Натуральный логарифм 10, приблизительно 2.302.

LN2

Натуральный логарифм 2, приблизительно 0.693.

LOG10E

База 10 логарифма E (приблизительно 0.434).

LOG2E

База 2 логарифма E (приблизительно 1.442).

PI

Частное от деления длины окружности на диаметр, приблизительно 3.14159.

SQRT1_2

Квадратный корень 1/2; эквивалентно 1 на квадратный корень 2, приблизительно 0.707.

SQRT2

Квадратный корень2, приблизительно 1.414.

Методы. Резюме.

Метод Описание
abs

Возвращает абсолютное значение числа.

acos

Возвращает арккосинус (в радианах) числа.

asin

Возвращает арксинус (в радианах) числа.

atan

Возвращает арктангенс (в радианах) числа.

atan2

Возвращает арктангенс частного аргументов.

ceil

Возвращает наименьшее целое, которое больше или равно.

cos

Возвращает косинус числа.

exp

Возвращает Enumber, где number это аргумент, а E это константа Эйлера - база натуральных логарифмов.

floor

Возвращает наибольшее целое, которое меньше или равно.

log

Возвращает натуральный логарифм (база E) числа.

max

Возвращает большее из двух чисел.

min

Возвращает меньшее из двух чисел.

pow

Возвращает base, возведённую в степень exponent, то есть baseexponent.

random

Возвращает псевдослучайное число в диапазоне от 0 до 1.

round

Возвращает значение числа, округлённое до ближайшего целого.

sin

Возвращает синус числа.

sqrt

Возвращает квадратный корень числа.

tan

Возвращает тангенс числа.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

abs

Возвращает абсолютное значение числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

abs(x)

Параметр

x

Число.

Пример

Эта функция возвращает абсолютное значение переменной x:

function getAbs(x) {
   return Math.abs(x)
}

Описание

Поскольку abs это static-метод объекта Math, Вы всегда записываете его Math.abs(), а не как метод Math-объекта, созданного Вами.

acos

Возвращает арккосинус (в радианах) числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

acos(x)

Параметр

x

Число.

Описание

Метод acos возвращает числовое значение в диапазоне от 0 до pi радиан. Если значение number находится вне пределов этого диапазона, метод возвращает NaN.

Поскольку acos это static-метод объекта Math, он всегда записывается Math.acos(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает арккосинус переменной x:

function getAcos(x) {
   return Math.acos(x)
}

Если Вы передаёте -1 в getAcos, он возвращает 3.141592653589793; если передаёте 2, возвращает NaN, поскольку 2 находится вне диапазона.

См. также

Math.asin, Math.atan, Math.atan2, Math.cos, Math.sin, Math.tan

asin

Возвращает арксинус (в радианах) числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

asin(x)

Параметр

x

Число.

Описание

Метод asin возвращает числовое значение в диапазоне от -pi/2 до pi/2 радиан. Если значение number находится вне этого диапазона, метод возвращает NaN.

Поскольку asin это static-метод объекта Math, он всегда записывается Math.asin(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает арксинус переменной x:

function getAsin(x) {
   return Math.asin(x)
}

Если Вы передаёте в getAsin значение 1, метод возвращает 1.570796326794897 (pi/2); Если Вы передаёте 2, возвращает NaN, поскольку 2 находится вне диапазона.

См. также

Math.acos, Math.atan, Math.atan2, Math.cos, Math.sin, Math.tan

atan

Возвращает арктангенс (в радианах) числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

atan(x)

Параметр

x

Число.

Описание

Метод atan возвращает числовое значение в диапазоне от -pi/2 до pi/2 радиан.

Поскольку atan это static-метод объекта Math, он всегда записывается Math.atan(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает арктангенс переменной x:

function getAtan(x) {
   return Math.atan(x)
}

Если Вы передаёте в getAtan значение 1, метод возвращает 0.7853981633974483; Если Вы передаёте .5, возвращает 0.4636476090008061.

См. также

Math.acos, Math.asin, Math.atan2, Math.cos, Math.sin, Math.tan

atan2

Возвращает арктангенс частного от деления аргументов.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

atan2(y, x)

Параметр

y, x

Число.

Описание

Метод atan2 возвращает числовое значение в диапазоне от -pi до pi, представляющее угол тета точки (x,y). Это угол в направлении против часовой стрелки, в радианах, между положительной осью X и точкой (x,y). Заметьте, что аргументы этой функции передают сначала y-координату, а затем уже x-координату.

В atan2 по отдельности передаются аргументы x и y и частное от деления этих аргументов.

Поскольку atan2 это static-метод объекта Math, он всегда записывается Math.atan2(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает угол полярных координат:

function getAtan2(x,y) {
   return Math.atan2(x,y)
}

Если Вы передаёте в getAtan2 значения (90,15), он возвращает 1.4056476493802699; Если Вы передаёте (15,90), возвращает 0.16514867741462683.

См. также

Math.acos, Math.asin, Math.atan, Math.cos, Math.sin, Math.tan

ceil

Возвращает наименьшее целое, которое больше или равно числу.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

ceil(x)

Параметр

x

Число.

Описание

Поскольку ceil это static-метод объекта Math, он всегда записывается Math.ceil(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает ceil-значение переменной x:

function getCeil(x) {
   return Math.ceil(x)
}

Если Вы передаёте в getCeil 45.95 , он возвращает 46; Если Вы передаёте -45.95, возвращает -45.

См. также

Math.floor

cos

Возвращает косинус числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

cos(x)

Параметр

x

Число.

Описание

Метод cos возвращает числовое значение в диапазоне от -1 до 1, которое представляет косинус угла.

Поскольку cos это static-метод объекта Math, он всегда записывается Math.cos(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает косинус переменной x:

function getCos(x) {
   return Math.cos(x)
}

Если x равен 2*Math.PI, getCos возвращает 1; если x равен Math.PI, метод getCos возвращает -1.

См. также

Math.acos, Math.asin, Math.atan, Math.atan2, Math.sin, Math.tan

E

Константа Эйлера и база натуральных логарифмов, приблизительно 2.718.

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Описание

Поскольку E это static-свойство объекта Math, оно всегда записывается Math.E, а не как свойство Math-объекта, созданного Вами.

Пример

Эта функция возвращает константу Эйлера:

function getEuler() {
   return Math.E
}

exp

Возвращает Ex, где x это аргумент, а E это константа Эйлера - база натуральных логарифмов.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

exp(x)

Параметр

x

Число.

Описание

Поскольку exp это static-метод объекта Math, он всегда записывается Math.exp(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает экспоненциальное значение переменной x:

function getExp(x) {
   return Math.exp(x)
}

Если Вы передаёте в getExp значение 1, он возвращает 2.718281828459045.

См. также

Math.E, Math.log, Math.pow

floor

Возвращает наибольшее целое, которое меньше или равно числу.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

floor(x)

Параметр

x

Число.

Описание

Поскольку floor это static-метод объекта Math, он всегда записывается Math.floor(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает floor-значение переменной x:

function getFloor(x) {
   return Math.floor(x)
}

Если Вы передаёте 45.95 в getFloor, он возвращает 45; Если передаёте -45.95, возвращает -46.

См. также

Math.ceil

LN10

Натуральный логарифм 10, приблизительно 2.302.

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Пример

Эта функция возвращает натуральный log 10:

function getNatLog10() {
   return Math.LN10
}

Описание

Поскольку LN10 это static-свойство объекта Math, оно всегда записывается Math.LN10, а не как свойство Math-объекта, созданного Вами.

LN2

Натуральный логарифм 2, приблизительно 0.693.

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Пример

Эта функция возвращает натуральный log 2:

function getNatLog2() {
   return Math.LN2
}

Описание

Поскольку LN2 это static-свойство объекта Math, он всегда записывается Math.LN2, а не как свойство Math-объекта, созданного Вами.

log

Возвращает натуральный логарифм (база E) числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

log(x)

Параметр

x

Число.

Описание

Если значение number - отрицательное, return-значение всегда будет NaN.

Поскольку log это static-метод объекта Math, он всегда записывается Math.log(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает натуральный логарифм/natural log переменной x:

function getLog(x) {
   return Math.log(x)
}

Если Вы передаёте в getLog значение 10, он возвращает 2.302585092994046; если передаёте 0, возвращает -Infinity; если передаёте -1, возвращает NaN, поскольку -1 находится вне диапазона.

См. также

Math.exp, Math.pow

LOG10E

База 10 логарифма E (приблизительно 0.434).

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Пример

Эта функция возвращает базу 10 логарифма E:

function getLog10e() {
   return Math.LOG10E
}

Описание

Поскольку LOG10E это static-свойство объекта Math, оно всегда записывается Math.LOG10E, а не как свойство Math-объекта, созданного Вами.

LOG2E

База 2 логарифма E (приблизительно 1.442).

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Пример

Эта функция возвращает базу 2 логарифма E:

function getLog2e() {
   return Math.LOG2E
}

Описание

Поскольку LOG2E это static-свойство объекта Math, оно всегда записывается Math.LOG2E, а не как свойство Math-объекта, созданного Вами.

max

Возвращает большее из двух чисел.

Метод из | Math
Static
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

max(x,y)

Параметр

x, y

Числа.

Описание

Поскольку max это static-метод объекта Math, он всегда записывается Math.max(), а не как метод Math-объекта, созданного Вами.

Пример

Следующая функция вычисляет переменные x и y:

function getMax(x,y) {
   return Math.max(x,y)
}

Если Вы передаёте в getMax значения 10 и 20, он возвращает 20; если передаёте -10 и -20, возвращает -10.

См. также

Math.min

min

Возвращает меньшее из двух чисел.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

min(x,y)

Параметр

x, y

Числа.

Описание

Поскольку min это static-метод объекта Math, он всегда записывается Math.min(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция вычисляет переменные x и y:

function getMin(x,y) {
   return Math.min(x,y)
}

Если Вы передаёте в getMin значения 10 и 20, он возвращает 10; если передаёте -10 и -20, возвращает -20.

См. также

Math.max

PI

Частное от деления длины окружности на диаметр, приблизительно 3.14159.

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Пример

Эта функция возвращает значение pi:

function getPi() {
   return Math.PI
}

Описание

Поскольку PI это static-свойство объекта Math, оно всегда записывается Math.PI, а не как свойство Math-объекта, созданного Вами.

pow

Возвращает base, возведённую в степень exponent, то есть baseexponent.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

pow(x,y)

Параметры

base

Число базы.

exponent

Степень, в которую возводится base.

Описание

Поскольку pow это static-метод объекта Math, он всегда записывается Math.pow(), а не как метод Math-объекта, созданного Вами.

Пример

function raisePower(x,y) {
   return Math.pow(x,y)
}

Если x равен 7 и y равен 2, raisePower возвращает 49 (7 в степени 2).

См. также

Math.exp, Math.log

random

Возвращает псевдослучайное число в диапазоне от 0 до 1. Генератор случайных чисел начинает генерацию от значения текущего времени, как в Java.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0: только Unix. JavaScript 1.1, NES 2.0: все платформы.
Версия ECMA | ECMA-262

Синтаксис

random()

Параметры

Отсутствуют.

Описание

Поскольку random это static-метод объекта Math, он всегда записывается Math.random(), а не как метод Math-объекта, созданного Вами.

Пример

//Возвращает случайное число в диапазоне от 0 до 1.

function getRandom() {
   return Math.random()
}

round

Возвращает значение, округлённое до ближайшего целого.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

round(x)

Параметр

x

Число.

Описание

Если дробная часть number равна .5 или больше, аргумент округляется в сторону увеличения. Если дробная часть number меньше .5, аргумент округляется в сторону уменьшения.

Поскольку round это static-метод объекта Math, он всегда записывается Math.round(), а не как метод Math-объекта, созданного Вами.

Примеры

//Возвращает 20

x=Math.round(20.49)
//Возвращает 21

x=Math.round(20.5)
//Возвращает -20
x=Math.round(-20.5)
//Возвращает -21
x=Math.round(-20.51)

sin

Возвращает синус числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

sin(x)

Параметр

x

Число.

Описание

Метод sin возвращает числовое значение в диапазоне от -1 до 1, которое представляет собой синус аргумента.

Поскольку sin это static-метод объекта Math, он всегда записывается Math.sin(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает синус переменной x:

function getSine(x) {
   return Math.sin(x)
}

Если Вы передаёте в getSine значение Math.PI/2, он возвращает 1.

См. также

Math.acos, Math.asin, Math.atan, Math.atan2, Math.cos, Math.tan

sqrt

Возвращает квадратный корень числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

sqrt(x)

Параметр

x

Число.

Описание

Если значение number - отрицательное, sqrt возвращает NaN.

Поскольку sqrt это static-метод объекта Math, он всегда записывается Math.sqrt(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает квадратный корень переменной x:

function getRoot(x) {
   return Math.sqrt(x)
}

Если Вы передаёте в getRoot значение 9, он возвращает 3; если передаёте 2, возвращает 1.414213562373095.

SQRT1_2

Квадратный корень 1/2; эквивалентно 1, делённой на квадратный корень 2, приблизительно 0.707.

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Пример

Эта функция возвращает 1, делённую на квадратный корень 2:

function getRoot1_2() {
   return Math.SQRT1_2
}

Описание

Поскольку SQRT1_2 это static-свойство объекта Math, оно всегда записывается Math.SQRT1_2, а не как свойство Math-объекта, созданного Вами.

SQRT2

Квадратный корень 2, приблизительно 1.414.

Свойство из | Math
Static, Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Пример

Эта функция возвращает квадратный корень 2:

function getRoot2() {
   return Math.SQRT2
}

Описание

Поскольку SQRT2 это static-свойство объекта Math, оно всегда записывается Math.SQRT2, а не как свойство Math-объекта, созданного Вами.

tan

Возвращает тангенс числа.

Метод из | Math
Static
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

tan(x)

Параметр

x

Число.

Описание

Метод tan возвращает числовое значение - тангенс угла.

Поскольку tan это static-метод объекта Math, он всегда записывается Math.tan(), а не как метод Math-объекта, созданного Вами.

Пример

Эта функция возвращает тангенс переменной x:

function getTan(x) {
   return Math.tan(x)
}

См. также

Math.acos, Math.asin, Math.atan, Math.atan2, Math.cos, Math.sin

§ ← → У


MimeType

MIME-тип (Multipart Internet Mail Extension), поддерживаемый клиентом.

Клиентский объект |
Реализован в | JavaScript 1.1

Создание

Вы сами не создаёте объект MimeType. Эти объекты являются в JavaScript предопределёнными объектами, доступ к которым Вы можете получить с помощью массива mimeTypes объекта navigator или Plugin:

navigator.mimeTypes[index]

где index это либо целое число, представляющее MIME-тип, поддерживаемый клиентом, либо строка, содержащая тип объекта MimeType (из свойства MimeType.type).

Описание

Каждый MimeType-объект является элементом массива mimeTypes. Массив mimeTypes является свойством двух объектов: navigator и Plugin. Например, в таблице дано резюме по значениям для вывода JPEG-изображений:

Выражение | Значение
navigator.mimeTypes["image/jpeg"].type | image/jpeg
navigator.mimeTypes["image/jpeg"].description | JPEG Image
navigator.mimeTypes["image/jpeg"].suffixes | jpeg, jpg, jpe, jfif, pjpeg, pjp
navigator.mimeTypes["image/jpeg"].enabledPlugins | null

Свойства. Резюме.

Свойство Описание
description

Описание MIME-типа.

enabledPlugin

Ссылка на Plugin-объект, сконфигурированный для данного MIME-типа.

suffixes

Строка с перечислением допустимых расширений имён файлов для данного MIME-типа, например, "mpeg, mpg, mpe, mpv, vbs, mpegv".

type

Имя MIME-типа, например, "video/mpeg" или "audio/x-wav".

Методы. Резюме.

Этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Этот код выводит свойства type, description, suffixes и enabledPlugin для каждого MimeType-объекта на клиенте:

document.writeln("<TABLE BORDER=1><TR VALIGN=TOP>",
   "<TH ALIGN=left>i",
   "<TH ALIGN=left>type",
   "<TH ALIGN=left>description",
   "<TH ALIGN=left>suffixes",
   "<TH ALIGN=left>enabledPlugin.name</TR>")
for (i=0; i < navigator.mimeTypes.length; i++) {
   document.writeln("<TR VALIGN=TOP><TD>",i,
      "<TD>",navigator.mimeTypes[i].type,
      "<TD>",navigator.mimeTypes[i].description,
      "<TD>",navigator.mimeTypes[i].suffixes)
   if (navigator.mimeTypes[i].enabledPlugin==null) {
      document.writeln(
      "<TD>None",
      "</TR>")
   } else {
      document.writeln(
      "<TD>",navigator.mimeTypes[i].enabledPlugin.name,
      "</TR>")
   }
}
document.writeln("</TABLE>")

Этот пример даст на выходе примерно следующее:

i | type | description | suffixes | enabledPlugin.name
0 | audio/aiff | AIFF | aif, aiff | LiveAudio
1 | audio/wav | WAV | wav | LiveAudio
2 | audio/x-midi | MIDI | mid, midi | LiveAudio
3 | audio/midi | MIDI | mid, midi | LiveAudio
4 | video/msvideo | Video for Windows | avi | NPAVI32 Dynamic Link Library
5 | * | Netscape Default Plugin |  | Netscape Default Plugin
6 | zz-application/zz-winassoc-TGZ |  | TGZ | None

См. также

navigator, navigator.mimeTypes, Plugin

description

Читабельное описание типа данных, описанного MIME-типа объекта.

Свойство из | MimeType
Только для чтения |
Реализовано в | JavaScript 1.1

enabledPlugin

Объект Plugin для plug-in'а, сконфигурированного для специфицированного MIME-типа. Если MIME-тип не имеет сконфигурированного plug-in'а, enabledPlugin равно null.

Свойство из | MimeType
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Используйте свойство enabledPlugin для определения plug-in'а, сконфигурированного для специфического MIME-типа. Каждый plug-in может поддерживать несколько MIME-типов, и каждый MIME-тип может потенциально поддерживаться несколькими plug-in'ами. Однако только один plug-in может быть сконфигурирован для MIME-типа. (В системах Macintosh и Unix пользователь может конфигурировать обработчик для каждого MIME-тип; в Windows обработчик определяется при старте браузера.)

Свойство enabledPlugin является ссылкой на Plugin-объект, который представляет plug-in, сконфигурированный для специфицированного MIME-типа.

Вам может понадобиться узнать, который plug-in сконфигурирован для MIME-типа, например, чтобы динамически вводить тэг EMBED на страницу, если пользователь имеет plug-in, сконфигурированный для данного MIME-типа.

Примеры

Здесь определяется, установлен ли Shockwave plug-in. Если это так, клип воспроизводится.

// Можем ли мы воспроизвести Shockwave-видео?

mimetype = navigator.mimeTypes["application/x-director"]
if (mimetype) {
   // Если да, можем ли отобразить их plug-in'ом?
   plugin = mimetype.enabledPlugin
   if (plugin)
      // Если да, показать данные in-line
      document.writeln("Here\'s a movie: <EMBED SRC=mymovie.dir HEIGHT=100 WIDTH=100>")
      else
      // Если нет, предоставить ссылку на данные
      document.writeln("<A HREF='mymovie.dir'>Click here</A> to see a movie.")
   } else {
   // Если нет, сообщить:
   document.writeln("Sorry, can't show you this cool movie.")
}

suffixes

Строка с перечислением допустимых суффиксов файлов (известных также как расширения имён файлов) для данного MIME-типа.

Свойство из | MimeType
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство suffixes это строка, состоящая из правильных расширений (обычно из трёх символов), разделённых запятыми. Например, расширения для MIME-типа "audio/x-midi" будут "mid, midi".

type

Строка, специфицирующая имя MIME-типа. Это строка выделяет данный MIME-тип среди всех других; например, "video/mpeg" или "audio/x-wav".

Свойство из | MimeType
Только для чтения |
Реализовано в | JavaScript 1.1


navigator

Содержит информацию об используемой версии Navigator'а.

Клиентский объект |
Реализовано в | JavaScript 1.0 JavaScript 1.1: добавлены свойства mimeTypes и plugins; добавлены методы javaEnabled и taintEnabled. JavaScript 1.2: добавлены свойства language и platform; добавлены методы preference и savePreferences.

Создание

Машина выполнения JavaScript на стороне клиента создаёт объект navigator автоматически.

Описание

Используйте объект navigator для определения версии используемого Navigator'а (браузера), какие MIME-типы может обрабатывать Navigator пользователя и какие plug-in'ы установлены у пользователя. Все свойства объекта navigator - только для чтения/read-only.

Свойства. Резюме.

Свойство Описание
appCodeName

Специфицирует кодовое имя браузера.

appName

Специфицирует имя браузера.

appVersion

Специфицирует версию Navigator'а.

language

Язык Navigator'а.

mimeTypes

Массив всех MIME-типов, поддерживаемых клиентом.

platform

Тип машины, для которого Navigator был скомпилирован.

plugins

Массив всех plug-in'ов, установленных на клиенте.

userAgent

Специфицирует шапку/header user-agent (пользовательский агент).

Методы. Резюме.

Метод Описание
javaEnabled

Проверяет, включён ли Java.

plugins.refresh

Делает вновь установленные plug-in'ы доступными и по выбору перезагружает открытые документы, содержащие plug-in'ы.

preference

Даёт возможность помеченному скрипту получать и устанавливать определённые настройки Navigator'а.

savePreferences

Сохраняет настройки Navigator'а в локальном файле prefs.js.

taintEnabled

Специфицирует, включено ли разрушение данных.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

appCodeName

Строка, специфицирующая кодовое имя браузера.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.0

Примеры

Здесь выводится значение свойства appCodeName:

document.write("The value of navigator.appCodeName is " +
   navigator.appCodeName)

Для Navigator'а 2.0 и позднее будет выведено:

The value of navigator.appCodeName is Mozilla

appName

Строка, специфицирующая имя браузера.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.0

Примеры

Здесь будет выведено значение свойства appName:

document.write("The value of navigator.appName is " +
   navigator.appName)

Для Navigator'а 2.0 и 3.0 будет выведено:

The value of navigator.appName is Netscape

appVersion

Строка, специфицирующая информацию о версии Navigator'а.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Свойство appVersion специфицирует информацию о версии в следующем формате:

releaseNumber (platform; country)

Содержащиеся значения:

  • releaseNumber - номер версии Navigator'а. Например, "2.0b4" специфицирует Navigator 2.0, beta 4.
  • platform - платформа на которой работает Navigator. Например, "Win16" специфицирует 16-битную версию Windows, такую как Windows 3.1.
  • country это либо "I" для международной версии, либо "U" - для релиза США. Релиз для США имеет более надёжное кодирование информации, чем международный релиз.

Примеры

Пример 1. Выводится номер версии Navigator'а:

document.write("The value of navigator.appVersion is " +
   navigator.appVersion)

Для Navigator 2.0 в Windows 95 будет выведено:

The value of navigator.appVersion is 2.0 (Win95, I)

Для Navigator 3.0 в Windows NT будет выведено:

The value of navigator.appVersion is 3.0 (WinNT, I)

Пример 2. Объект Textarea заполняется символами новой строки. Поскольку эти символы различны на разных платформах, пример тестирует свойство appVersion, чтобы определить, используется ли Windows (appVersion содержит "Win" для всех версий Windows). Если пользователь работает в Windows, символ новой строки будет \r\n; иначе - \n, то есть символ новой строки в Unix и Macintosh.

ПРИМЕЧАНИЕ: Этот код нужен только для JavaScript 1.0. Версии JavaScript от 1.1 и позднее проверяют все символы новой строки перед установкой строкового значения и транслируют их для имеющейся пользовательской платформы.

<SCRIPT>
var newline=null
function populate(textareaObject){
   if (navigator.appVersion.lastIndexOf('Win') != -1)
      newline="\r\n"
      else newline="\n"
   textareaObject.value="line 1" + newline + "line 2" + newline
   + "line 3"
}
</SCRIPT>
<FORM NAME="form1">
<BR><TEXTAREA NAME="testLines" ROWS=8 COLS=55></TEXTAREA>
<P><INPUT TYPE="button" VALUE="Populate the Textarea object"
   onClick="populate(document.form1.testLines)">
</TEXTAREA>
</FORM>

javaEnabled

Проверяет, включён ли Java.

Метод из | navigator
Static |
Реализован в | JavaScript 1.1

Синтаксис

javaEnabled()

Параметры

Отсутствуют.

Описание

javaEnabled возвращает true, если Java включён; иначе - false. Пользователь может включить и отключить Java в установках пользователя.

Пример

выполняется функция function1, если Java включён; иначе выполняется function2.

if (navigator.javaEnabled()) {
   function1()
}
else function2()

См. также

navigator.appCodeName, navigator.appName, navigator.userAgent

language

Указывает используемую локализацию Navigator'а.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Значение языка/language это обычно 2-буквенный код, такой как "en", иногда - 5-символьный код, указывающий также подтип языка, такой как "zh_CN".

Используйте это свойство для определения языка клиентского программного обеспечения Navigator'а. Например, Вы можете отобразить пользователю локализованный текст.

mimeTypes

Массив всех MIME-типов, поддерживаемых клиентом.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.1

Массив mimeTypes содержит вхождение для каждого MIME-типа, поддерживаемого клиентом (внутренне - через вспомогательные приложения, или через plug-in'ы). Например, если клиент поддерживает три MIME-типа, эти MIME-типы отражаются как navigator.mimeTypes[0], navigator.mimeTypes[1] и navigator.mimeTypes[2].

Каждый элемент массива mimeTypes это объект MimeType.

Для получения количества поддерживаемых mime-типов используйте свойство length: navigator.mimeTypes.length.

См. также

MimeType

platform

Указывает тип машины, для которого скомпилирован Navigator.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Значения платформ: Win32, Win16, Mac68k, MacPPC и различные варианты Unix.

Тип машины, для которого Navigator скомпилирован, может отличаться от реального типа машины по причине различий версий, разных эмуляторов или по другим показателям.

Если Вы используете SmartUpdate для загрузки программного обеспечения на пользовательскую машину, Вы можете использовать это свойство, чтобы убедиться, что тригер загружает соответствующие JAR-файлы. Страница-переключатель/тригер проверяет версию Navigator'а перед проверкой свойства platform. Об использовании SmartUpdate см. Using JAR Installation Manager for SmartUpdate.

plugins

Массив всех plug-in'ов, установленных в данный момент на клиенте.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.1

Вы можете обратиться к Plugin-объектам, установленным на клиенте, используя этот массив. Каждый элемент массива plugins это Plugin-объект. Например, если на клиенте установлены три plug-in'а, они отражаются как navigator.plugins[0], navigator.plugins[1] и navigator.plugins[2].

Две формы использования массива plugins:

1. navigator.plugins[index]
2. navigator.plugins[index][mimeTypeIndex]

index это целое число, представляющее plug-in, установленный на клиенте, или строка содержащая имя Plugin-объекта (из свойства name). Первая форма возвращает Plugin-объект, хранимый в специфицированном месте в массиве plugins. Вторая форма возвращает MimeType-объект по специфицированному индексу в этом Plugin-объекте.

Для получения общего количества plug-in'ов, установленных на клиенте, используйте свойство length: navigator.plugins.length.

plugins.refresh Массив plugins имеет свой собственный метод refresh. Этот метод делает доступными вновь установленные plug-in'ы, обновляет соответствующие массивы, такие как plugins и по выбору перезагружает открытые документы, содержащие plug-in'ы. Этот метод вызывается одним из следующих операторов:

navigator.plugins.refresh(true)
navigator.plugins.refresh(false)

Если Вы задаёте true, refresh обновляет массив plugins, чтобы сделать вновь установленные plug-in'ы доступными, и перезагружает все открытые документы, содержащие внедрённые объекты (тэг EMBED). Если Вы задаёте false, массив plugins обновляется, но открытые документы не перезагружаются.

Если пользователь устанавливает plug-in, этот plug-in недоступен, пока не будет вызван метод refresh или пока пользователь не закроет и не рестартует Navigator.

Пример

Этот код обновляет массив и перезагружает открытые документы, содержащие внедрённые объекты:

navigator.plugins.refresh(true)

См. также примеры для объекта Plugin.

preference

Позволяет помеченному скрипту получать и устанавливать определённые настройки Navigator'а.

Метод из | navigator
Static |
Реализован в | JavaScript 1.2

Синтаксис

preference(prefName[, setValue])

Параметры

prefName

Строка - имя настройки, значение которой Вы хотите получить или установить. Допустимые значения перечислены ниже.

setValue

Значение, которое Вы хотите присвоить настройке. Это может быть строка, число или Булево значение.

Описание

Этот метод возвращает значение настройки. Если Вы используете этот метод для установки настройки, он возвращает новое значение.

При наличии разрешения Вы можете получать и устанавливать настройки, показанные в таблице:

Таблица 1.2 Настройки.
Чтобы ... установите в эту настройку ... это значение ...

Автоматически загрузить изображения

general.always_load_images

true или false

Включить Java

security.enable_java

true или false

Включить JavaScript

javascript.enabled

true или false

Включить таблицы стилей

browser.enable_style_sheets

true или false

Включить SmartUpdate

autoupdate.enabled

true или false

Принимать все куки/cookies

network.cookie.cookieBehavior

0

Принимать только куки, которые отправляются обратно серверу

network.cookie.cookieBehavior

1

Отключить куки

network.cookie.cookieBehavior

2

Предупреждать перед получением куки

network.cookie.warnAboutCookies

true или false

Безопасность

Чтение настройки методом preference требует привилегии UniversalPreferencesRead. Установка настройки этим методом требует привилегии UniversalPreferencesWrite. об безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

savePreferences

savePreferences

Сохраняет настройки Navigator'а в локальном файле prefs.js.

Метод из | navigator
Static |
Реализован в | JavaScript 1.2

Безопасность

Сохранение пользовательских настроек требует привилегии UniversalPreferencesWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Синтаксис

SavePreferences()

Описание

Этот метод немедленно сохраняет текущие настройки Navigator'а в пользовательском файле настроек prefs.js. Navigator также сохраняет настройки автоматически при выходе из программы.

См. также

preference

taintEnabled

Специфицирует, включено ли по умолчанию разрушение данных.

Метод из | navigator
Static |
Реализован в | JavaScript 1.1 JavaScript 1.2: removed

Синтаксис

navigator.taintEnabled()

Описание

Разрушение данных предотвращает передачу секретной/закрытой информации, такой как структура директорий или история пользовательских сессий. JavaScript не может передать разрушенные значения на любой сервер без окончания действия разрешений конечного пользователя.

Используйте taintEnabled для определения того, включено ли по умолчанию разрушение данных. taintEnabled возвращает true, если разрушение данных включено, иначе - false. Пользователь включает или отключает разрушение данных, используя переменную окружения NS_ENABLE_TAINT.

Примеры

Выполняется функция function1, если разрушение данных включено; иначе - выполняется function2.

if (navigator.taintEnabled()) {
   function1()
   }
else function2()

См. также

taint, untaint

userAgent

Строка, представляющая значение шапки user-agent, пересылаемой по HTTP-протоколу с клиента на сервер.

Свойство из | navigator
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Сервер использует значение, пересылаемое в шапке user-agent, для идентификации клиента.

Примеры

Выводится информация userAgent для Navigator'а:

document.write("The value of navigator.userAgent is " +
   navigator.userAgent)

Для Navigator 2.0 будет выведено следующее:

The value of navigator.userAgent is Mozilla/2.0 (Win16; I)


netscape

Объект верхнего уровня, используемый для доступа к Java-классам пакета netscape.*.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Объект netscape это предопределённый объект верхнего уровня JavaScript. Вы можете автоматически получать к нему доступ без использования конструктора или вызова метода.

Описание

Объект netscape это синоним свойства Packages.netscape.

См. также

Packages, Packages.netscape
§ ← → У


Number

Даёт возможность работать с числами. Объект Number это оболочка для объектов примитивного типа.

Объект ядра
Реализован в | JavaScript 1.1, NES 2.0 JavaScript 1.2: модифицировано поведение конструктора Number. JavaScript 1.3: добавлен метод toSource.
Версия ECMA | ECMA-262

Создание

Конструктор Number:

new Number(value)

Параметр

value

Числовое значение создаваемого объекта.

Описание

В основном объект Number используется:

  • Для доступа к его константам и свойствам, которые представляют наибольшее и наименьшее представимые числа, положительную и отрицательную бесконечность и значение Not-a-Number\Не-Число.
  • Для создания числовых объектов, к которым Вы можете добавлять свойства. Вероятнее всего, Вы редко будете создавать Number-объект.

Свойства объекта Number являются свойствами самого класса, а не индивидуальными объектами Number.

JavaScript 1.2: Number(x) выдаёт теперь NaN, а не ошибку, если x это строка, не содержащая правильно сформированный числовой литерал. Например,

x=Number("three");
document.write(x + "<BR>");

печатает NaN

Вы можете конвертировать любой объект в число путём использования функции верхнего уровня Number.

Свойства. Резюме.

Свойство Описание
constructor

Специфицирует функцию, которая создаёт прототип объекта.

MAX_VALUE

Наибольшее представимое число.

MIN_VALUE

Наименьшее представимое число.

NaN

Специальное значение "not a number".

NEGATIVE_INFINITY

Специальное значение - отрицательная бесконечность; возвращается при переполнении.

POSITIVE_INFINITY

Специальное значение - положительная бесконечность; возвращается при переполнении.

prototype

Позволяет добавлять свойства к Number-объекту.

Методы. Резюме.

Метод Описание
toSource

Возвращает литерал объекта, представляющий специфицированный Number-объект; Вы можете использовать это значение для создания нового объекта. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую специфицированный объект. Переопределяет метод Object.toString.

valueOf

Возвращает примитивное значение специфицированного объекта. Переопределяет метод Object.valueOf.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Свойства объекта Number используются для присвоения значений нескольким числовым переменным:

biggestNum = Number.MAX_VALUE
smallestNum = Number.MIN_VALUE
infiniteNum = Number.POSITIVE_INFINITY
negInfiniteNum = Number.NEGATIVE_INFINITY
notANum = Number.NaN

Пример 2. Создаётся Number-объект myNum, затем добавляется свойство description во все Number-объекты. Затем значение присваивается свойству description объекта myNum.

myNum = new Number(65)
Number.prototype.description=null
myNum.description="wind speed"

constructor

Специфицирует функцию, которая создаёт прототип объекта. Обратите внимание, что значение этого свойства является ссылкой на саму функцию, а не строкой с именем функции.

Свойство из | Number
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

См. Object.constructor.

MAX_VALUE

Максимальное значение, которое может быть представлено в JavaScript.

Свойство из | Number
Static, Только для чтения
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

Свойство MAX_VALUE имеет значение приблизительно 1.79E+308. Значения, которые больше MAX_VALUE, представляются как "Infinity".

Поскольку MAX_VALUE это static-свойство объекта Number, Вы всегда используете его так Number.MAX_VALUE, а не как свойство Number-объекта, созданного Вами.

Пример

Перемножение двух числовых значений. Если результат меньше или равен MAX_VALUE, вызывается функция func1; иначе вызывается функция func2.

if (num1 * num2 <= Number.MAX_VALUE)
   func1()
else
   func2()

MIN_VALUE

Минимальное положительное числовое значение, которое может быть представлено в JavaScript..

Свойство из | Number
Static, Только для чтения
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

Свойство MIN_VALUE это число, близкое к 0, а не наименьшее отрицательное число, которое может быть представлено в JavaScript.

MIN_VALUE имеет значение приблизительно 5e-324. Значения, которые меньше MIN_VALUE ("отрицательное переполнение"), конвертируются в 0.

Поскольку MIN_VALUE это static-свойство объекта Number, Вы всегда записываете его Number.MIN_VALUE, а не как свойство Number-объекта, созданного Вами.

Пример

Производится деление двух числовых значений. Если результат больше или равен MIN_VALUE, вызывается функция func1; иначе вызывается функция func2.

if (num1 / num2 >= Number.MIN_VALUE)
   func1()
else
   func2()

NaN

Специальное значение, представляющее Not-A-Number/Не-Число. Это значение представляется как литерал NaN без кавычек.

Свойство из | Number
Только для чтения |
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

JavaScript печатает значение Number.NaN как NaN.

NaN всегда не равно любому другому числу, включая само NaN; Вы не можете проверить значение not-a-number путём сравнения его с Number.NaN. Используйте для этого функцию isNaN.

Вы можете использовать свойство NaN для указания на ошибочное условие для функции, которая должна возвращать правильное число.

Пример

Здесь, если month имеет значение больше 12, ему присваивается NaN и выводится сообщение с указанием правильных значений.

var month = 13
if (month < 1 || month > 12) {
   month = Number.NaN
   alert("Month must be between 1 and 12.")
}

См. также

NaN, isNaN, parseFloat, parseInt

NEGATIVE_INFINITY

Специальное числовое значение, представляющее отрицательную бесконечность. Это значение представляется как литерал -Infinity без кавычек.

Свойство из | Number
Static, Только для чтения
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

Это значение ведёт себя несколько иначе, чем математическая бесконечность:

  • Любое POSITIVE_INFINITY, умноженное на NEGATIVE_INFINITY, даёт NEGATIVE_INFINITY.
  • Любое отрицательное значение, включая NEGATIVE_INFINITY, умноженное на NEGATIVE_INFINITY, даёт POSITIVE_INFINITY.
  • Нуль/Zero, умноженный на NEGATIVE_INFINITY, даёт NaN.
  • NaN, умноженное на NEGATIVE_INFINITY, даёт NaN.
  • NEGATIVE_INFINITY, делённое на любое отрицательное значение, за исключением NEGATIVE_INFINITY, даёт POSITIVE_INFINITY.
  • NEGATIVE_INFINITY, делённое на любое положительное значение, за исключением POSITIVE_INFINITY, даёт NEGATIVE_INFINITY.
  • NEGATIVE_INFINITY, делённое на NEGATIVE_INFINITY или POSITIVE_INFINITY, даёт NaN.
  • Любое число, делённое на NEGATIVE_INFINITY даёт нуль/Zero.

Поскольку NEGATIVE_INFINITY это static-свойство объекта Number, Вы всегда записываете его Number.NEGATIVE_INFINITY, а не как свойство созданного Вами объекта Number.

Пример

Переменной smallNumber присваивается значение, которое меньше минимального значения. Если оператор if выполняется, smallNumber имеет значение "-Infinity", поэтому вызывается функция func1.

var smallNumber = -Number.MAX_VALUE*10
if (smallNumber == Number.NEGATIVE_INFINITY)
   func1()
else
   func2()

См. также

Infinity, isFinite

POSITIVE_INFINITY

Специальное числовое значение, представляющее бесконечность. Оно представлено как литерал Infinity без кавычек.

Свойство из | Number
Static, Только для чтения
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

Это значение ведёт себя несколько иначе, чем математическая бесконечность:

  • Любое положительное значение, включая POSITIVE_INFINITY, умноженное на POSITIVE_INFINITY, даёт POSITIVE_INFINITY.
  • Любое отрицательное значение, включая NEGATIVE_INFINITY, умноженное на POSITIVE_INFINITY, даёт NEGATIVE_INFINITY.
  • Нуль, умноженный на POSITIVE_INFINITY, даёт NaN.
  • NaN, умноженное на POSITIVE_INFINITY, даёт NaN.
  • POSITIVE_INFINITY, делённое на любое отрицательное значение, за исключением NEGATIVE_INFINITY, даёт NEGATIVE_INFINITY.
  • POSITIVE_INFINITY, делённое на любое положительное значение, за исключением POSITIVE_INFINITY, даёт POSITIVE_INFINITY.
  • POSITIVE_INFINITY, делённое на NEGATIVE_INFINITY или на POSITIVE_INFINITY, даёт NaN.
  • Любое число, делённое на POSITIVE_INFINITY, даёт Zero.

Поскольку POSITIVE_INFINITY это static-свойство объекта Number, Вы всегда записываете его Number.POSITIVE_INFINITY, а не как свойство созданного Вами объекта Number.

Пример

Переменной bigNumber присваивается значение, которое больше максимального значения. Если выполняется оператор if, bigNumber имеет значение "Infinity", поэтому вызывается функция func1.

var bigNumber = Number.MAX_VALUE * 10
if (bigNumber == Number.POSITIVE_INFINITY)
   func1()
else
   func2()

См. также

Infinity, isFinite

prototype

Представляет прототип для данного класса. Этот прототип можно использовать для добавления свойств или методов во все экземпляры класса. О прототипах см. Function.prototype.

Свойство из | Number
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

toSource

Возвращает строку с исходным кодом объекта.

Метод из | Number
Реализован в | JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Number метод toSource возвращает следующую строку, указывающую на то, что исходный код недоступен:
       function Number() {
          [native code]
       }
  • Для Number-экземпляров метод toSource возвращает строку с исходным кодом.

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.

См. также

Object.toSource

toString

Возвращает строку, представляющую специфицированный Number-объект.

Метод из | Number
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

toString()
toString([radix])

Параметры

radix

Целое число от 2 до 36, специфицирующее базу, используемую для представления числовых значений.

Описание

Объект Number переопределяет метод toString объекта Object; он не наследует Object.toString. Для Number-объектов метод toString возвращает строковое представление объекта.

JavaScript вызывает toString автоматически, когда число представляется как текстовое значение или когда на число делается ссылка при конкатенации строк.

Для Number-объектов и значений встроенный метод toString возвращает строку, представляющую значение числа.

Можно использовать toString с числовыми значениями, но не со числовыми литералами:

// Следующие две строки верны

var howMany=10
alert("howMany.toString() is " + howMany.toString())
// Следующая строка даст ошибку

alert("45.toString() is " + 45.toString())

valueOf

Возвращает примитивное значение Number-объекта.

Метод из | Number
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

Метод valueOf объекта Number возвращает примитивное значение Number-объекта как тип данных number.

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.

Примеры

x = new Number();
alert(x.valueOf())      //выводит 0

См. также

Object.valueOf
§ ← → У


Object

Object это примитивный тип объекта JavaScript. Все объекты JavaScript являются потомками Object. То есть все объекты JavaScript имеют методы, определённые для Object.

Объект ядра
Реализован в | JavaScript 1.0: метод toString. JavaScript 1.1, NES 2.0: добавлены методы eval и valueOf; свойство constructor. JavaScript 1.2: не рекомендуется использовать метод eval. JavaScript 1.3: добавлен метод toSource
Версия ECMA | ECMA-262

Создание

Конструктор объекта Object:

new Object()

Параметры

Отсутствуют.

Свойства. Резюме.

Свойство Описание
constructor

Специфицирует функцию, которая создаёт прототип объекта.

prototype

Позволяет добавлять свойства во все объекты.

Методы. Резюме.

Метод Описание
eval

Не рекомендуется. Вычисляет строку кода JavaScript в контексте специфицированного объекта.

toSource

Возвращает литерал объекта, представляющий специфицированный объект; Вы можете использовать это значение для создания нового объекта.

toString

Возвращает строку, представляющую специфицированный объект.

unwatch

Удаляет точку наблюдения/watchpoint из свойства объекта.

valueOf

Возвращает примитивное значение специфицированного объекта.

watch

Добавляет точку наблюдения/watchpoint в свойство объекта.

constructor

Специфицирует функцию, которая создаёт прототип объекта. Обратите внимание, что значением этого свойства является ссылка на функцию, а не строка, содержащая имя функции.

Свойство из | Object
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

Все объекты наследуют свойство constructor из их prototype:

o = new Object  // или o = {} в JavaScript 1.2
o.constructor == Object
a = new Array   // или a = [] в JavaScript 1.2
a.constructor == Array
n = new Number(3)
n.constructor == Number

Хотя Вы и не можете конструировать большинство объектов HTML, Вы можете делать сравнения. Например,

document.constructor == Document
document.form3.constructor == Form

Примеры

Создаётся прототип Tree и объект этого типа - theTree. Затем выводится свойство constructor объекта theTree.

function Tree(name) {
   this.name=name
}
theTree = new Tree("Redwood")
document.writeln("<B>theTree.constructor is</B> " +
   theTree.constructor + "<P>")

На выходе будет:

theTree.constructor is function Tree(name) { this.name = name; }

eval

Не рекомендуется. Вычисляет строку кода JavaScript в контексте специфицированного объект.

Метод из | Object
Реализован в | JavaScript 1.1, NES 2.0 JavaScript 1.2, NES 3.0: не рекомендуется как метод объектов; оставлен как функция верхнего уровня/top-level function.

Синтаксис

eval(string)

Параметры

string

Любая строка, представляющая выражение, оператор или последовательность операторов JavaScript. Выражение может содержать переменные и свойства существующих объектов.

Описание

eval как метод объекта Object и каждого объекта, происходящего от Object, не рекомендуется применять. Используйте функцию верхнего уровня eval.

Обратная Совместимость

JavaScript 1.1. eval это метод объекта Object и каждого объекта, происходящего от Object.

См. также

eval

prototype

Представляет прототип для данного класса. Вы можете использовать prototype для добавления свойств или методов во все экземпляры класса. См. дополнительно Function.prototype.

Свойство из | Object
Реализовано в | JavaScript 1.1
Версия ECMA | ECMA-262

toSource

Возвращает строку, представляющую исходный код объекта.

Метод из | Object
Реализован в | JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Object метод toSource возвращает следующую строку, указывающую, что исходный код недоступен:
    •    function Object() {
          [native code]
       }
  • Для экземпляров объекта Object, метод toSource возвращает строку, представляющую исходный код.
  • Для специальных объектов метод toSource возвращает исходный код JavaScript, определяющий объект, как строку.

Этот метод обычно вызывается в JavaScript внутренне, а не явно в коде. Вы можете вызывать toSource при отладке для проверки содержимого объекта.

Примеры

Определяется тип объектов Dog и создаётся theDog, объект типа Dog:

function Dog(name,breed,color,sex) {
   this.name=name
   this.breed=breed
   this.color=color
   this.sex=sex
}
theDog = new Dog("Gabby","Lab","chocolate","girl")

Вызов метода toSource объекта theDog выводит исходный код JavaScript, определяющий этот объект:

theDog.toSource()
//возвращает "{name:"Gabby", breed:"Lab", color:"chocolate", sex:"girl"}

См. также

Object.toString

toString

Возвращает строку, представляющую специфицированный объект.

Метод из | Object
Реализован в | JavaScript 1.0
Версия ECMA | ECMA-262

Синтаксис

toString()

Безопасность

JavaScript 1.1: Этот метод разрушен по умолчанию для следующих объектов: Button, Checkbox, FileUpload, Hidden, History, Link, Location, Password, Radio, Reset, Select, Submit, Text и Textarea. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Каждый объект имеет метод toString, который автоматически вызывается, если объект представляется как текстовое значение или если на объект ссылаются при конкатенации строк. Например, следующие примеры требуют, чтобы theDog был представлен как строка:

document.write(theDog)
document.write("The dog is " + theDog)

По умолчанию метод toString наследуется каждым объектом - потомком объекта Object. Вы можете переопределить этот метод для создаваемых Вами специальных объектов. Если Вы не переопределяете toString в специальном объекте, toString возвращает [object type], где type это тип объекта или имя функции-конструктора, которая создаёт объект.

Например:

var o = new Object()
o.toString // возвращает [object Object]

Встроенные методы toString. Каждый встроенный объект ядра JavaScript переопределяет метод toString объекта Object для возвращения соответствующего значения. JavaScript вызывает этот метод везде, где необходимо конвертировать объект в строку.

Некоторые встроенные объекты серверного и клиентского JavaScript не переопределяют метод toString объекта Object. Например, для Image-объекта sealife, определённого ниже, sealife.toString() возвратит [object Image].

<IMG NAME="sealife" SRC="images\seaotter.gif" ALIGN="left" VSPACE="10">

Переопределения метод toString по умолчанию. Вы можете создать функцию, вызываемую вместо метода toString по умолчанию. Метод toString не принимает аргументов и должен возвращать строку. Создаваемый Вами метод toString может иметь любое значение, но оно будет более употребимым, если будет содержать информацию об объекте.

Следующий код определяет тип объектов Dog и создаёт theDog, объект типа Dog:

function Dog(name,breed,color,sex) {
   this.name=name
   this.breed=breed
   this.color=color
   this.sex=sex
}
theDog = new Dog("Gabby","Lab","chocolate","girl")

Если Вы вызываете метод toString в этом специальном объекте, он возвращает значение по умолчанию, унаследованное от Object:

theDog.toString() //возвращает [object Object]

Следующий код создаёт функцию dogToString, которая будет использована для переопределения метода toString по умолчанию. Эта функция генерирует строку, содержащую каждое свойство, в форме "property = value;".

function dogToString() {
   var ret = "Dog " + this.name + " is [\n"
   for (var prop in this)
      ret += "  " + prop + " is " + this[prop] + ";\n"
   return ret + "]"
}

Следующий код присваивает определённую пользователем функцию методу toString объекта:

Dog.prototype.toString = dogToString

После этого в любое время, когда theDog используется в строковом контексте, JavaScript автоматически вызывает функцию dogToString, которая возвращает следующую строку:

Dog Gabby is [
  name is Gabby;
  breed is Lab;
  color is chocolate;
  sex is girl;
]

Метод toString объекта обычно вызывается JavaScript, но Вы можете и сами вызвать его:

var dogString = theDog.toString()

Обратная Совместимость

JavaScript 1.2. Поведение метода toString зависит от того, специфицирован ли атрибут LANGUAGE="JavaScript1.2" в тэге <SCRIPT>:

  • Если LANGUAGE="JavaScript1.2" специфицирован в тэге <SCRIPT>, метод toString возвращает литерал объекта.
  • Если LANGUAGE="JavaScript1.2" в тэге <SCRIPT> не специфицирован, метод toString возвращает [object type], как и в других версиях JavaScript.

Примеры

Пример 1: Объект location. Печатается строковой эквивалент текущего location.

document.write("location.toString() is " + location.toString() + "<BR>")

Вывод будет таким:

location.toString() is file:///C|/TEMP/myprog.html

Пример 2: Объект без строкового значения. Предположим, у Вас имеется Image-объект sealife, определённый так:

<IMG NAME="sealife" SRC="images\seaotter.gif" ALIGN="left" VSPACE="10">

Поскольку сам по себе Image-объект не имеет специального метода toString, sealife.toString() возвращает:

[object Image]

Пример 3: Параметр radix. Печатается строковые эквиваленты чисел от 0 до 9 в 10-ричном и двоичном формате.

for (x = 0; x < 10; x++) {
   document.write("Decimal: ", x.toString(10), " Binary: ", x.toString(2), "<BR>")
}

Этот пример даст на выходе:

Decimal: 0 Binary: 0
Decimal: 1 Binary: 1
Decimal: 2 Binary: 10
Decimal: 3 Binary: 11
Decimal: 4 Binary: 100
Decimal: 5 Binary: 101
Decimal: 6 Binary: 110
Decimal: 7 Binary: 111
Decimal: 8 Binary: 1000
Decimal: 9 Binary: 1001

См. также

Object.toSource, Object.valueOf

unwatch

Удаляет точку наблюдения, установленную методом watch.

Метод из | Object
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

unwatch(prop)

Параметры

prop

Имя свойства объекта.

Описание

Отладчик JavaScript имеет функциональность, похожую на функциональность, предоставляемую этим методом, а также другие опции отладки. Об отладчике см. Getting Started with Netscape JavaScript Debugger.

По умолчанию этот метод наследуется каждым объектом - потомком объекта Object.

Пример

См. watch.

valueOf

Возвращает примитивное значение специфицированного объекта.

Метод из | Object
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

JavaScript вызывает метод valueOf для конвертации объекта в примитивное значение. Вам редко нужно будет вызвать метод valueOf самостоятельно; JavaScript автоматически вызывает его при обнаружении объекта, где ожидается примитивное значение.

По умолчанию метод valueOf наследуется каждым объектом - потомком объекта Object. Каждый встроенный объект ядра языка переопределяет этот метод, чтобы возвращать соответствующее значение. Если объект не имеет примитивного значения, valueOf возвращает сам объект, который выводится так:

[object Object]

Вы можете также использовать valueOf в Вашем коде для конвертации встроенного объекта в примитивное значение. Если Вы создаёте специальный объект, Вы можете переопределить Object.valueOf для вызова специального метода вместо метода по умолчанию объекта Object .

Переопределение valueOf для специальных объектов. Вы можете создать функцию, вызываемую вместо метода по умолчанию valueOf. Ваша функция обязана не принимать никаких аргументов.

Предположим, у вас есть тип объектов myNumberType и Вы хотите создать метод valueOf для него. Следующий код присваивает определённую пользователем функцию методу valueOf объекта:

myNumberType.prototype.valueOf = new Function(functionText)

После этого всегда при вызове объекта типа myNumberType, используемого в контексте, где необходимо представление в виде примитивного значения, JavaScript автоматически вызывает функцию, определённую в предыдущем коде.

Метод valueOf объекта обычно вызывается JavaScript, но вы и сами может вызвать его:

myNumber.valueOf()

ПРИМЕЧАНИЕ: Объекты в строковом контексте конвертируются с помощью метода toString, который отличается от конвертирования String-объектов в строковые примитивы с использованием метода valueOf. Все строковые объекты имеют строковую конверсию, если только "[object type]". Но многие объекты не конвертируются в number, boolean или function.

См. также

parseInt, Object.toString

watch

Наблюдает за свойством, которому присвоено значение, и запускает функцию если это значение появляется.

Метод из | Object
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

watch(prop, handler)

Параметры

prop | Имя свойства объекта.
handler | Вызываемая функция.

Описание

Наблюдает за свойством по имени prop в данном объекте, вызывая handler(prop, oldval, newval), когда prop устанавливается и сохраняет return-значение в этом свойстве. Метод watchpoint может фильтровать (или обнулять) значение, возвращая модифицированное newval (или oldval).

Если Вы удалили свойство, для которого watchpoint был установлен, это watchpoint не исчезает. Если Вы позднее воссоздаёте свойство, watchpoint всё ещё продолжает действовать.

Чтобы удалить watchpoint, используйте метод unwatch. По умолчанию метод watch наследуется каждым объектом - потомком объекта Object.

Отладчик JavaScript имеет функциональность, похожую на функциональность, предоставляемую этим методом, а также другие опции отладки. Об отладчике см. Getting Started with Netscape JavaScript Debugger.

Пример

<script language="JavaScript1.2">
o = {p:1}
o.watch("p",
   function (id,oldval,newval) {
      document.writeln("o." + id + " changed from "
         + oldval + " to " + newval)
      return newval
   })
o.p = 2
o.p = 3
delete o.p
o.p = 4
o.unwatch('p')
o.p = 5
</script>

Этот скрипт даст на выходе:

o.p changed from 1 to 2
o.p changed from 2 to 3
o.p changed from 3 to 4


Option

Опция в списке выбора.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство defaultSelected; в свойство text добавлена возможность изменять текст опции.

Создание

Конструктор Option или тэг HTML OPTION.

Создание объекта Option конструктором:

new Option([text[, value[, defaultSelected[, selected]]]])

После создания Option-объекта вы можете добавлять его в список выбора, используя массив Select.options.

Параметры

text

Текст, отображаемый в списке выбора.

value

Специфицирует значение, возвращаемое на сервер, когда опция выбрана и форма отправляется.

defaultSelected

Специфицирует, выбрана ли опция по умолчанию (true или false).

selected

Специфицирует текущий статус выбора опции (true или false).

Свойства. Резюме.

Свойство Описание
defaultSelected

Специфицирует статус по умолчанию опции.

index

Индекс с базой 0 элемента в массиве Select.options.

length

Количество элементов в массиве Select.options.

selected

Специфицирует текущий статус опции (выбрана или нет).

text

Специфицирует текст опции.

value

Специфицирует значение, возвращаемое на сервер, когда опция выбрана и форма отправляется.

Методы. Резюме.

Этот объект наследует методы watch и unwatch из объекта Object.

Описание

Обычно Вы работаете с объектами Option в контексте списка выбора/selection list (объект Select). Когда JavaScript создаёт Select-объект для каждого тэга SELECT в документе, он создаёт Option-объекты для тэгов OPTION внутри тэга SELECT и помещает эти объекты в массив options объекта Select.

Кроме того, Вы можете создавать новые опции, используя конструктор Option, и добавлять эти опции в список выбора. После создания опции и добавления её в Select-объект, Вы обязаны обновить документ, используя history.go(0). Этот оператор обязан быть последним. При перезагрузке документа переменные теряются, если они не сохранены в куках или значениях элементов формы.

Вы можете использовать свойства Option.selected и Select.selectedIndex для изменения статуса выбора опции.

  • Свойство Select.selectedIndex это целое число, специфицирующее индекс выбранной опции. Оно чаще всего используется в Select-объектах, которые созданы без атрибута MULTIPLE. Следующий оператор устанавливает свойство selectedIndex объекта Select:

    • document.myForm.musicTypes.selectedIndex = i

  • Свойство Option.selected это Булево значение, специфицирующее текущий статус выбора опции Select-объекта. Если опция выбрана, её свойство selected имеет значение true; иначе - false. Это чаще всего используется в Select-объектах, созданных с атрибутом MULTIPLE. Следующий оператор устанавливает свойство selected опции в true:

    • document.myForm.musicTypes.options[i].selected = true

Для изменения текста опции используйте свойство Option.text. Например, форма имеет следующий Select-объект:

<SELECT name="userChoice">
   <OPTION>Choice 1
   <OPTION>Choice 2
   <OPTION>Choice 3
</SELECT>

Вы можете установить текст элемента iй на основе текста, введённого в текстовое поле whatsNew:

myform.userChoice.options[i].text = myform.whatsNew.value

Вам не нужно перезагружать или обновлять документ после изменения текста опции.

Пример

Создаётся два Select-объекта, один с и другой без атрибута MULTIPLE. Никакие опции этих объектов первоначально не определены. Когда пользователь щёлкает кнопку, ассоциированную с Select-объектом, функция populate создаёт 4 опции для Select-объекта и выбирает первую опцию.

<SCRIPT>
function populate(inForm) {
   colorArray = new Array("Red", "Blue", "Yellow", "Green")
   var option0 = new Option("Red", "color_red")
   var option1 = new Option("Blue", "color_blue")
   var option2 = new Option("Yellow", "color_yellow")
   var option3 = new Option("Green", "color_green")
   for (var i=0; i < 4; i++) {
      eval("inForm.selectTest.options[i]=option" + i)
      if (i==0) {
         inForm.selectTest.options[i].selected=true
      }
   }
   history.go(0)
}
</SCRIPT>
<H3>Select Option() constructor</H3>
<FORM>
<SELECT NAME="selectTest"></SELECT><P>
<INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)">
<P>
</FORM>
<HR>
<H3>Select-Multiple Option() constructor</H3>
<FORM>
<SELECT NAME="selectTest" multiple></SELECT><P>
<INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)">
</FORM>

defaultSelected

Булево значение, указывающее статус выбора данной опции по умолчанию в списке выбора.

Свойство из | Option
Реализовано в | JavaScript 1.1

Безопасность

JavaScript 1.1. Это свойство запорчено/разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если опция выбрана по умолчанию, значение свойства defaultSelected равно true; иначе - false.
defaultSelected первоначально отражает использование атрибута SELECTED в тэге OPTION; однако установка defaultSelected переопределяет атрибут SELECTED.

Вы можете установить свойство defaultSelected в любое время. Отображение соответствующего Select-объекта не обновляется, когда Вы устанавливаете свойство defaultSelected опции, оно обновляется только при установке свойств Option.selected или Select.selectedIndex.

Объект Select, созданный без атрибута MULTIPLE, может иметь выбранной по умолчанию только одну опцию. Если Вы устанавливаете defaultSelected в таком объекте, любые предыдущие установки по умолчанию, включая установки атрибутом SELECTED, очищаются. Если Вы устанавливаете defaultSelected в Select-объекте, созданном с атрибутом MULTIPLE, предыдущие установки выбора не изменяются.

Пример

Здесь функция restoreDefault возвращает объект musicType Select в состояние по умолчанию. Цикл for использует массив options для вычисления каждой опции Select-объекта. Оператор if устанавливает свойство selected, если defaultSelected имеет значение true.

function restoreDefault() {
   for (var i = 0; i < document.musicForm.musicType.length; i++) {
      if (document.musicForm.musicType.options[i].defaultSelected == true) {
         document.musicForm.musicType.options[i].selected=true
      }
   }
}

В предыдущем примере предполагается, что Select-объект определён примерно так:

<SELECT NAME="musicType">
   <OPTION SELECTED> R&B
   <OPTION> Jazz
   <OPTION> Blues
   <OPTION> New Age
</SELECT>

См. также

Option.selected, Select.selectedIndex

index

Индекс с базой 0 элемента в массиве Select.options.

Свойство из | Option
Реализовано в | JavaScript 1.0

Описание

Свойство index специфицирует позицию элемента в массиве Select.options, начиная с 0.

Пример

Здесь функция getChoice возвращает значение свойства index выбранной опции. Цикл for вычисляет каждую опцию Select-объекта musicType. Оператор if находит выбранную опцию.

function getChoice() {
   for (var i = 0; i < document.musicForm.musicType.length; i++) {
      if (document.musicForm.musicType.options[i].selected == true) {
         return document.musicForm.musicType.options[i].index
      }
   }
   return null
}

Предполагается, что Select-объект таков:

<SELECT NAME="musicType">
   <OPTION SELECTED> R&B
   <OPTION> Jazz
   <OPTION> Blues
   <OPTION> New Age
</SELECT>

Обратите внимание, что можно также определить индекс выбранной опции этого примера путём использования document.musicForm.musicType.selectedIndex.

length

Количество элементов в массиве Select.options.

Свойство из | Option
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Значение этого свойства такое же, что и значение Select.length.

Примеры

См. в Option.index пример для свойства length.

selected

Булево значение, указывающее на то, выбрана ли опция Select-объекта.

Свойство из | Option
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство запорчено/разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если опция Select-объекта выбрана, значение свойства selected опции равно true; иначе - false. Вы можете установить свойство selected в любое время. Вид ассоциированного Select-объекта обновляется сразу после установки свойства selected для одной из его опций.

Вообще, свойство Option.selected используется чаще, чем свойство Select.selectedIndex, в Select-объектах, созданных с атрибутом MULTIPLE. С помощью свойства Option.selected Вы можете вычислять каждую опцию массива Select.options для определения множественного выбора, а также можете выбирать отдельные опции без изменения статуса выбора других опций.

Примеры

См. примеры для defaultSelected.

См. также

Option.defaultSelected, Select.selectedIndex

text

Строка, специфицирующая текст опции в списке выбора.

Свойство из | Option
Реализовано в | JavaScript 1.0 JavaScript 1.1: свойство text может быть изменено для обновления опции выбора. В предыдущих релизах Вы могли установить свойство text, но новое значение не отражалось в Select-объекте.

Безопасность

JavaScript 1.1. Это свойство запорчено/разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство text первоначально содержит текст, который идёт после тэга OPTION в тэге SELECT. Вы можете установить свойство text в любое время, и текст, отображаемый опцией в списке выбора, изменится.

Примеры

Пример 1. Здесь функция getChoice возвращает значение свойства text для выбраной опции. Цикл for вычисляет каждую опцию Select-объекта musicType. Оператор if находит выбранную опцию.

function getChoice() {
   for (var i = 0; i < document.musicForm.musicType.length; i++) {
      if (document.musicForm.musicType.options[i].selected == true) {
         return document.musicForm.musicType.options[i].text
      }
   }
   return null
}

Предполагается, что Select-объект таков:

<SELECT NAME="musicType">
   <OPTION SELECTED> R&B
   <OPTION> Jazz
   <OPTION> Blues
   <OPTION> New Age
</SELECT>

Пример 2. В следующей форме пользователь может ввести некоторый текст в первом текстовом поле, а затем ввести число от 0 до 2 (включительно) во втором текстовом поле. Когда пользователь щёлкает по кнопке, текст изменяется на номер выбранной опции, и эта опция выбирается.

Код выглядит так:

<SCRIPT>
function updateList(theForm, i) {
   theForm.userChoice.options[i].text = theForm.whatsNew.value
   theForm.userChoice.options[i].selected = true
}
</SCRIPT>
<FORM>
<SELECT name="userChoice">
   <OPTION>Choice 1
   <OPTION>Choice 2
   <OPTION>Choice 3
</SELECT>
<BR>
New text for the option: <INPUT TYPE="text" NAME="whatsNew">
<BR>
Option to change (0, 1, or 2): <INPUT TYPE="text" NAME="idx">
<BR>
<INPUT TYPE="button" VALUE="Change Selection"
onClick="updateList(this.form, this.form.idx.value)">
</FORM>

value

Строка, отражающая атрибут VALUE опции.

Свойство из | Option
Только для чтения |
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство запорчено/разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если атрибут VALUE специфицируется в HTML, то свойство value это строка, отражающая его. Если атрибут VALUE не специфицируется в HTML, то свойство value это пустая строка. Свойство value не отображается на экране, а возвращается на сервер, если опция выбрана.

Не путайте это свойство со статусом выбора опции или текста, который отображается вслед за ней. Свойство selected определяет статус выбора объекта, а свойство defaultSelected определяет статус выбора по умолчанию. Отображаемый текст специфицируется после тэга OPTION и соответствует свойству text.


Packages

Объект верхнего уровня, используемый для доступа к Java-классам из кода JavaScript.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Объект Packages является предопределённым объектом верхнего уровня JavaScript. Вы можете автоматически получать к нему доступ без использования конструктора или вызова метода.

Описание

Объект Packages даёт доступ к public-методам и полям Java-класса из JavaScript. Свойства java, netscape и sun представляют классы java.*, netscape.* и sun.*, соответственно. Используйте стандартную нотацию Java с точкой для доступа к классам, методам или полям этих пакетов. Например, можно получить доступ к конструктору класса Frame:

var theFrame = new Packages.java.awt.Frame();

Для удобства в JavaScript предоставляются объекты верхнего уровня netscape, sun и java, которые являются синонимами Packages-свойств с теми же именами. Следовательно, Вы можете получить доступ к Java-классам этих пакетов без использования ключевого слова Packages:

var theFrame = new java.awt.Frame();

Свойство className представляет полное квалифицированное имя Java-класса, доступного для JavaScript. Вы обязаны использовать объект Packages для доступа к классам вне пакетов netscape, sun и java.

Свойства. Резюме.

Свойство Описание
className

Полное квалифицированное имя Java-класса в других пакетах, кроме пакетов netscape, java или sun, доступного в JavaScript.

java

Любой класс Java-пакета java.*.

netscape

Любой класс Java-пакета netscape.*.

sun

Любой класс Java-пакета sun.*.

Примеры

Функция JavaScript создаёт диалоговое окно Java:

function createWindow() {
   var theOwner = new Packages.java.awt.Frame();
   var theWindow = new Packages.java.awt.Dialog(theOwner);
   theWindow.setSize(350,200);
   theWindow.setTitle("Hello, World");
   theWindow.setVisible(true);
}

Здесь функция создаёт экземпляр theWindow как Packages-объект. Методы setSize, setTitle и setVisible доступны для JavaScript как public-методы из java.awt.Dialog.

className

Полное квалифицированное имя Java-класса в других пакетах, кроме пакетов netscape, java или sun, доступного для JavaScript.

Свойство из | Packages
Реализовано в | JavaScript 1.1, NES 2.0

Синтаксис

Packages.className

где classname это полное квалифицированное имя Java-класса.

Описание

Вы обязаны использовать свойство className объекта Packages для доступа к классам вне пакетов netscape, sun и java.

Пример

Следующий код получает доступ к конструктору класса CorbaObject в пакете myCompany из кода JavaScript:

var theObject = new Packages.myCompany.CorbaObject()

Здесь свойство className имеет значение myCompany.CorbaObject, полное квалифицированное имя класса CorbaObject.

java

Любой класс Java-пакета java.*.

Свойство из | Packages
Реализовано в | JavaScript 1.1, NES 2.0

Синтаксис

Packages.java

Описание

Используйте свойство java для доступа к любому классу пакета java из кода JavaScript. Обратите внимание, что объект верхнего уровня java является синонимом Packages.java.

Примеры

Это код получает доступ к конструктору класса java.awt.Frame:

var theOwner = new Packages.java.awt.Frame();

Вы можете упростить этот код, используя объект верхнего уровня java для доступа к конструктору:

var theOwner = new java.awt.Frame();

netscape

Любой класс Java-пакета netscape.*.

Свойство из | Packages
Реализовано в | JavaScript 1.1, NES 2.0

Синтаксис

Packages.netscape

Описание

Используйте свойство netscape для доступа к любому классу пакета netscape из кода JavaScript. Обратите внимание, что объект верхнего уровня netscape является синонимом Packages.netscape.

Примеры

См. примеры для Packages.java.

sun

Любой класс Java-пакета sun.*.

Свойство из | Packages
Реализовано в | JavaScript 1.1, NES 2.0

Синтаксис

Packages.sun

Описание

Используйте свойство sun для доступа к любому классу пакета sun из кода JavaScript. Обратите внимание, что объект верхнего уровня sun является синонимом Packages.sun.

Примеры

См. примеры для Packages.java.


Password

Текстовое поле на HTML-форме, которое прячет своё содержимое, отображая звёздочки (*). Когда пользователь вводит текст в это поле, звёздочки (*) скрывают введённое.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type; добавлены обработчики событий onBlur и onFocus. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэг INPUT со значением "password" в атрибуте TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты Password и помещает эти объекты в массив element соответствующего объекта Form. Вы получаете доступ к Password-объекту по индексу в этом массиве. Можно индексировать массив числами или, если имеются, значениями атрибута NAME.

Обработчики Событий

  • onBlur
  • onFocus

Описание

Объект Password на форме выглядит так:

Объект Password это элемент формы, и он обязан быть определён внутри тэга FORM.

Безопасность

Версии JavaScript 1.2 и позднее. Свойство value возвращается в виде обычного текста и не имеет ассоциированной с ним системы безопасности. Будьте внимательны при использовании этого свойства и исключите хранение его в куке.

JavaScript 1.1. Если пользователь интерактивно модифицирует поле password, Вы не можете вычислить его точно при включённом разрушении данных. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Свойства. Резюме.

Свойство Описание
defaultValue

Отражает атрибут VALUE.

form

Специфицирует форму, содержащую Password-объект.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает текущее значение поля Password-объекта.

Методы. Описание.

Метод Описание
blur

Убирает фокус с объекта.

focus

Передаёт объекту фокус.

handleEvent

Вызывает обработчик для специфицированного события.

select

Выделяет область ввода объекта.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Пример

Создаётся Password-объект без значения по умолчанию:

<B>Password:</B>
<INPUT TYPE="password" NAME="password" VALUE="" SIZE=25>

См. также

Form, Text

blur

Убирает фокус с объекта.

Метод из | Password
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

Пример

Здесь убирается фокус с password-элемента userPass:

userPass.blur()

Здесь предполагается, что password определён так:

<INPUT TYPE="password" NAME="userPass">

См. также

Password.focus, Password.select

defaultValue

Строка со значением по умолчанию Password-объекта.

Свойство из | Password
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Начальное значение defaultValue равно null (из соображений безопасности), независимо от значения атрибута VALUE.

Установка defaultValue программно переопределяет начальное значение. Если Вы программно устанавливаете defaultValue для Password-объекта и затем вычисляете его, JavaScript возвращает текущее значение.

Вы можете установить свойство defaultValue в любое время. Вид соответствующего объекта не обновляется при установке Вами свойства defaultValue, это делается только при установке свойства value.

См. также

Password.value

focus

Передаёт фокус объекту password.

Метод из | Password
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

Описание

Используйте метод focus для перехода к полю password и передачи ему фокуса. Вы можете затем программно ввести значение в это поле или дать пользователю возможность сделать это.

Пример

Здесь функция checkPassword подтверждает ввод пользователем верного пароля. Если пароль неправильный, метод focus возвращает фокус Password-объекту, а метод select выделяет его, чтобы пользователь мог повторно ввести пароль.

function checkPassword(userPass) {
   if (badPassword) {
      alert("Please enter your password again.")
      userPass.focus()
      userPass.select()
   }
}

Здесь предполагается, что Password-объект определён так:

<INPUT TYPE="password" NAME="userPass">

См. также

Password.blur, Password.select

form

Ссылка объекта на форму, содержащую этот объект.

Свойство из | Password
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в основном в обработчиках событий, где может понадобиться обратиться к другим элементам текущей формы.

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Password
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого объект имеет обработчик.

Описание

Об обработчиках событий см. книгу Клиентский JavaScript. Руководство.

name

Строка, специфицирующая имя данного объекта.

Свойство из | Password
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку. Свойство name не выводится на экран; оно используется для обращения к объекту программно.

Если несколько объектов формы имеют одинаковые значения своих атрибутов NAME, автоматически создаётся массив этих имён. Каждый элемент этого массива представляет отдельный Form-объект. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент Password на одной форме имеют значение своих атрибутов NAME "myField", создаётся массив с элементами myField[0], myField[1] и myField[2]. Вам необходимо знать о таких ситуациях в Вашем коде и о том, ссылается ли myField на одиночный элемент или на массив элементов.

Примеры

Здесь функция valueGetter использует цикл for для итерации по массиву элементов на форме valueTest. Окно msgWindow отображает имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

select

Выделяет область ввода поля password.

Метод из | Password
Реализован в | JavaScript 1.0

Синтаксис

select()

Параметры

Отсутствуют.

Описание

Используйте метод select для выделения области ввода поля password. Вы можете использовать метод select совместно с методом focus для выделения области ввода и позиционирования на ней курсора.

Примеры

Здесь функция checkPassword проверяет правильность введённого пользователем пароля. Если пароль неверен, метод select выделяет поле, а метод focus возвращает ему фокус, так что пользователь может повторно ввести пароль.

function checkPassword(userPass) {
   if (badPassword) {
      alert("Please enter your password again.")
      userPass.focus()
      userPass.select()
   }
}

Здесь предполагается, что Password-объект определён так:

<INPUT TYPE="password" NAME="userPass">

См. также

Password.blur, Password.focus

type

Для всех Password-объектов значение свойства type будет "password". Это свойство специфицирует тип элемента формы.

Свойство из | Password
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Здесь записывается значение свойства type каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {
   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, первоначально отражающая атрибут VALUE.

Свойство из | Password
Реализовано в | JavaScript 1.0

Безопасность

Версии JavaScript 1.2 и позднее. Это свойство возвращается обычным текстом и не имеет ассоциированной с ним системы безопасности. Будьте внимательны при использовании этого свойства и исключите его хранение в куке.

JavaScript 1.1. Это свойство разрушено по умолчанию. Если Вы программно установили свойство value и вычисляете его, JavaScript возвращает текущее значение. Если пользователь интерактивно модифицирует значение поля password, Вы не сможете точно вычислить его, если разрушение данных включено. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Эта строка представляется как серия звёздочек в поле Password-объекта. Значение этого свойства изменяется, если пользователь или программа модифицирует это поле, но это значение всегда отображается звёздочками.

См. также

Password.defaultValue
§ ← → У


Plugin

Модуль plug-in, установленный на клиенте.

Клиентский объект |
Реализован в | JavaScript 1.1

Создание

Plugin-объекты являются предопределёнными объектами JavaScript, доступ к которым Вы получаете через массив navigator.plugins array.

Описание

Объект Plugin это plug-in, установленный на клиентской машине. Рlug-in это программный модуль, который может вызваться браузером для отображения в браузере специализированных типов внедрённых данных. Пользователь может получить список установленных plug-in'ов, выбрав меню About Plug-ins из Help.

Каждый Plugin-объект сам по себе является массивом, содержащим один элемент для каждого MIME-типа, поддерживаемого этим plug-in'ом. Каждый элемент массива это MimeType-объект. Например, следующий код отображает свойства type и description первого MimeType-объекта первого Plugin-объекта.

myPlugin=navigator.plugins[0]
myMimeType=myPlugin[0]
document.writeln('myMimeType.type is ',myMimeType.type,"<BR>")
document.writeln('myMimeType.description is ',myMimeType.description)

Этот код даст на выходе примерно следующее:

myMimeType.type is video/quicktime
myMimeType.description is QuickTime for Windows

Plugin-объект позволяет Вам динамически определять, какие plug-in'ы установлены на клиенте. Вы можете написать скрипт для отображения внедрённых plug-in-данных, если соответствующий plug-in установлен, или вывести некоторую альтернативную информацию, такую как рисунок или текст, если не установлен.

Plug-in'ы могут быть зависимы от платформы и конфигурироваться, поэтому MimeType-массив объектов Plugin может отличаться на разных платформах и для разных пользователей.

Каждый Plugin-объект является элементом массива plugins.

Если Вы используете тэг EMBED для генерирования вывода из plug-in-приложения, Вы не создаёте Plugin-объект. Используйте массив document.embeds для обращения к экземплярам 'plug-in'ов, созданных тэгами EMBED. См. массив - document.embeds.

Свойства. Резюме.

Свойство Описание
description

Описание plug-in'а.

filename

Имя файла plug-in'а на диске.

length

Количество элементов массива MimeType-объектов plug-in'а.

name

Имя plug-in'а.

Методы. Резюме.

Этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Пользователь может получить список установленных plug-in'ов, выбрав меню About Plug-ins из Help. Чтобы увидеть код, используемый браузером для этого сообщения, выберите меню About Plug-ins из Help, затем выберите Page Source из View.

Пример 2. Следующий код присваивает укороченные переменные предопределённым свойствам LiveAudio.

var myPluginName = navigator.plugins["LiveAudio"].name
var myPluginFile = navigator.plugins["LiveAudio"].filename
var myPluginDesc = navigator.plugins["LiveAudio"].description

Пример 3. Этот код выводит сообщение "LiveAudio is configured for audio/wav", если LiveAudio plug-in установлен и подключён для "audio/wav" MIME-типа:

var myPlugin = navigator.plugins["LiveAudio"]
var myType = myPlugin["audio/wav"]
if (myType && myType.enabledPlugin == myPlugin)
   document.writeln("LiveAudio is configured for audio/wav")

Пример 4. Следующее выражение представляет количество MIME-типов, которые Shockwave может отобразить:

navigator.plugins["Shockwave"].length

Пример 5. Этот код выводит свойства name, filename, description и length каждого Plugin-объекта на клиенте:

document.writeln("<TABLE BORDER=1><TR VALIGN=TOP>",
   "<TH ALIGN=left>i",
   "<TH ALIGN=left>name",
   "<TH ALIGN=left>filename",
   "<TH ALIGN=left>description",
   "<TH ALIGN=left># of types</TR>")
for (i=0; i < navigator.plugins.length; i++) {
   document.writeln("<TR VALIGN=TOP><TD>",i,
      "<TD>",navigator.plugins[i].name,
      "<TD>",navigator.plugins[i].filename,
      "<TD>",navigator.plugins[i].description,
      "<TD>",navigator.plugins[i].length,
      "</TR>")
}
document.writeln("</TABLE>")

Этот пример даст примерно такой вывод:

i | name | filename | description | # of types
0 | QuickTime Plug-In | d:\nettools\netscape\nav30\Program\ plugins\NPQTW32.DLL | QuickTime Plug-In for Win32 v.1.0.0 | 1
1 | LiveAudio | d:\nettools\netscape\nav30\Program\ plugins\NPAUDIO.DLL | LiveAudio--Netscape Navigator sound playing component | 7
2 | NPAVI32 Dynamic Link Library | d:\nettools\netscape\nav30\Program\ plugins\npavi32.dll | NPAVI32, avi plugin DLL | 2
3 | Netscape Default Plugin | d:\nettools\netscape\nav30\Program\ plugins\npnul32.dll | Null Plugin | 1

См. также

MimeType, document.embeds

description

Читабельное описание plug-in'а. Это текст, предоставляемый разработчиками plug-in'ов.

Свойство из | Plugin
Только для чтения |
Реализовано в | JavaScript 1.1

filename

Имя файла plug-in'а на диске.

Свойство из | Plugin
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство filename это имя программного файла plug-in'а, которое предоставляется самим plug-in'ом. Это имя может варьироваться для разных платформ.

Примеры

См. пример для Plugin.

length

Количество элементов в массиве MimeType-объектов plug-in'а.

Свойство из | Plugin
Только для чтения |
Реализовано в | JavaScript 1.1

name

Строка, специфицирующая имя plug-in'а.

Свойство из | Plugin
Только для чтения |
Реализовано в | JavaScript 1.1

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Имя plug-in'а, предоставляемое самим plug-in'ом. Каждый plug-in должен иметь уникальное имя-идентификатор.


Radio

Отдельная радио-кнопка набора радио-кнопок на форме HTML. Можно использовать радио-кнопки для выбора элемента из списка.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type; добавлены методы blur и focus.. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэг INPUT с "radio" в качестве значения атрибута TYPE. Все радио-кнопки одной группы обязаны иметь одно значение атрибута NAME. Это даёт возможность доступа к ним как к единой группе.

Для данной формы машина выполнения JavaScript создаёт отдельные объекты Radio для каждой радио-кнопки. Она помещает в единый массив все Radio-объекты, имеющие одинаковые значения атрибута NAME. Этот массив помещается в массив elements соответствующего объекта Form. Если одна форма имеет несколько наборов радио-кнопок, массив elements будет иметь несколько Radio-объектов.

Доступ к набору кнопок осуществляется через массив Form.elements (по числу или по значению атрибута NAME). Для доступа к отдельной кнопке набора используется возвращённый массив объекта. Например, если в документе имеется форма emp с набором радио-кнопок, чей атрибут NAME имеет значение "dept", Вы обращаетесь к отдельной кнопке document.emp.dept[0], document.emp.dept[1] и т.д.

Обработчики событий

  • onBlur
  • onClick
  • onFocus

Описание

Radio-объект на форме выглядит так:

Radio-объект является элементом формы и обязан быть определён внутри тэга FORM.

Свойства. Резюме.

Свойство Описание
checked

Даёт возможность программно выбрать радио-кнопку (свойство отдельной кнопки).

defaultChecked

Отражает атрибут CHECKED (свойство отдельной кнопки).

form

Специфицирует форму, содержащую Radio-объект (свойство массива кнопок).

name

Отражает атрибут NAME (свойство массива кнопок).

type

Отражает атрибут TYPE (свойство массива кнопок).

value

Отражает атрибут VALUE (свойство массива кнопок).

Методы. Резюме.

Метод Описание
blur

Убирает фокус с радио-кнопки.

click

Симулирует щелчок мыши по радио-кнопке.

focus

Передаёт фокус радио-кнопке.

handleEvent

Вызывает обработчик для специфицированного события.

Кроме того, этот объект наследуем методы watch и unwatch из объекта Object.

Примеры

Пример 1. Определяется группа радио-кнопок для выбора из трёх музыкальных каталогов. Каждая радио-кнопка имеет одно имя, NAME="musicChoice", образуя группу кнопок, в которой может быть выбрана только одна кнопка этой группы. Здесь также определено текстовое поле, которая по умолчанию имеет значение выбранной радио-кнопки, но также даёт пользователю возможность ввести нестандартное имя каталога. Обработчик onClick устанавливает в поле ввода имя каталога, если пользователь щёлкает по радио-кнопке.

<INPUT TYPE="text" NAME="catalog" SIZE="20">
<INPUT TYPE="radio" NAME="musicChoice" VALUE="soul-and-r&b"
   onClick="musicForm.catalog.value = 'soul-and-r&b'"> Soul and R&B
<INPUT TYPE="radio" NAME="musicChoice" VALUE="jazz"
   onClick="musicForm.catalog.value = 'jazz'"> Jazz
<INPUT TYPE="radio" NAME="musicChoice" VALUE="classical"
   onClick="musicForm.catalog.value = 'classical'"> Classical

Пример 2. В этом примере имеется форма с тремя текстовыми боксами и тремя радио-кнопками. Радио-кнопки позволяют выбирать регистр символов, в который конвертировать текст текстовых полей, или вообще не конвертировать этот текст. Каждое текстовое поле имеет обработчик события onChange, который изменяет значение поля в зависимости от того, какая кнопка нажата. Радио-кнопки для верхнего и нижнего регистров имеют обработчики onClick, конвертирующие все поля одновременно.

<HTML>
<HEAD>
<TITLE>Radio object example</TITLE>
</HEAD>
<SCRIPT>
function convertField(field) {
   if (document.form1.conversion[0].checked) {
      field.value = field.value.toUpperCase()}
   else {
   if (document.form1.conversion[1].checked) {
      field.value = field.value.toLowerCase()}
   }
}
function convertAllFields(caseChange) {
   if (caseChange=="upper") {
   document.form1.lastName.value = document.form1.lastName.value.toUpperCase()
   document.form1.firstName.value = document.form1.firstName.value.toUpperCase()
   document.form1.cityName.value = document.form1.cityName.value.toUpperCase()}
   else {
   document.form1.lastName.value = document.form1.lastName.value.toLowerCase()
   document.form1.firstName.value = document.form1.firstName.value.toLowerCase()
   document.form1.cityName.value = document.form1.cityName.value.toLowerCase()
   }
}
</SCRIPT>
<BODY>
<FORM NAME="form1">
<B>Last name:</B>
<INPUT TYPE="text" NAME="lastName" SIZE=20 onChange="convertField(this)">
<BR><B>First name:</B>
<INPUT TYPE="text" NAME="firstName" SIZE=20 onChange="convertField(this)">
<BR><B>City:</B>
<INPUT TYPE="text" NAME="cityName" SIZE=20 onChange="convertField(this)">
<P><B>Convert values to:</B>
<BR><INPUT TYPE="radio" NAME="conversion" VALUE="upper"
   onClick="if (this.checked) {convertAllFields('upper')}"> Upper case
<BR><INPUT TYPE="radio" NAME="conversion" VALUE="lower"
   onClick="if (this.checked) {convertAllFields('lower')}"> Lower case
<BR><INPUT TYPE="radio" NAME="conversion" VALUE="noChange"> No conversion
</FORM>
</BODY>
</HTML>

См. также примеры для Link.

См. также

Checkbox, Form, Select

blur

Убирает фокус с радио-кнопки.

Метод из | Radio
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

См. также

Radio.focus

checked

Булево значение, специфицирующее статус радио-кнопки (выбрана или нет).

Свойство из | Radio
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если радио-кнопка выбрана, значение её свойств checked будет true; иначе - false. Вы можете установить свойство checked в любое время. Вид радио-кнопки обновляется сразу после изменения её свойства checked.

В данный момент времени только одна кнопка группы кнопок может быть выбрана. Если Вы устанавливаете свойство checked для одной кнопки группы в true, это свойство в других кнопках становится false.

Пример

Проверяется массив радио-кнопок musicType на форме musicForm с целью определить, какая кнопка выбрана. Атрибут VALUE выбранной кнопки присваивается переменной checkedButton.

function stateChecker() {
   var checkedButton = ""
   for (var i in document.musicForm.musicType) {
      if (document.musicForm.musicType[i].checked=="1") {
         checkedButton=document.musicForm.musicType[i].value
      }
   }
}

См. также

Radio.defaultChecked

click

Симулирует щелчок мыши по радио-кнопке, но не запускает обработчик onClick этой кнопки.

Метод из | Radio
Реализован в | JavaScript 1.0

Синтаксис

click()

Параметры

Отсутствуют.

Примеры

В этом примере переключается состояние первой радио-кнопки объекта musicType Radio на форме musicForm:

document.musicForm.musicType[0].click()

А в этом примере переключается состояние бокса-переключателя newAge checkbox на форме musicForm:

document.musicForm.newAge.click()

defaultChecked

Булево значение, указывающее статус выбора по умолчанию радио-кнопки.

Свойство из | Radio
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если радио-кнопка выбрана по умолчанию, значение свойства defaultChecked будет true; иначе - false. defaultChecked первоначально указывает, используется ли атрибут CHECKED в тэге INPUT; однако установка defaultChecked переопределяет атрибут CHECKED.

В отличие от свойства checked, изменение значения defaultChecked одной кнопки группы радио-кнопок не изменяет это значение в других кнопках группы.

Вы можете установить свойство defaultChecked в любое время. Вид радио-кнопки обновляется не сразу после установки свойства defaultChecked, а только при установке свойства checked.

Пример

Здесь массив радио-кнопок musicType на форме musicForm устанавливается в статус выбора по умолчанию:

function radioResetter() {
   var i=""
   for (i in document.musicForm.musicType) {
      if (document.musicForm.musicType[i].defaultChecked==true) {
         document.musicForm.musicType[i].checked=true
      }
   }
}

См. также

Radio.checked

focus

Передаёт фокус радио-кнопке.

Метод из | Radio
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

Описание

Метод focus используется для перехода к радио-кнопке и передачи ей фокуса. Пользователь может затем легко нажать эту кнопку.

См. также

Radio.blur

form

Ссылка объекта, специфицирующая форму, содержащую радио-кнопку.

Свойство из | Radio
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в основном в обработчиках событий, где бывает необходимо обратиться к другому элементу текущей формы.

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Radio
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик.

name

Строка, специфицирующая имя набора радио-кнопок, с которым ассоциирована данная кнопка.

Свойство из | Radio
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку.

Все радио-кнопки, имеющие одно значение свойства name, находятся в одной группе кнопок и обрабатываются вместе. Если Вы изменяете name одной радио-кнопки, вы изменяете группу, к которой принадлежит эта кнопка.

Не путаёте свойство name с текстом, отображаемым на кнопке Button. Свойство value специфицирует текст для кнопки. Свойство name не выводится на экран; оно используется для программного обращения к кнопке.

Пример

Здесь функция valueGetter использует цикл for для итерации по массиву элементов на форме valueTest. Окно msgWindow отображает имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

type

Для всех Radio-объектов значение свойства type будет "radio". Это свойство специфицирует тип элемента формы.

Свойство из | Radio
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Записывается значение свойства type каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {
   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, отражающая атрибут VALUE радио-кнопки.

Свойство из | Radio
Только для чтения |
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если атрибут VALUE специфицирован в HTML, свойство value является строкой, отражающей его. Если атрибут VALUE не специфицирован в HTML, свойство value является строкой, которая вычисляется в "on". Свойство value не выводится на экран, но возвращается на сервер, если радио-кнопка или переключатель/checkbox выбраны.

Не путайте это свойство со статусом выбора радио-кнопки или текста, который отображается после кнопки. Свойство checked определяет статус выбора объекта, а свойство defaultChecked определяет статус выбора по умолчанию. Отображаемый текст специфицируется после тэга INPUT.

Пример

Следующая функция вычисляет свойство value группы радио-кнопок и выводит его в окне msgWindow:

function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < document.valueTest.radioObj.length; i++) {
       msgWindow.document.write
          ("The value of radioObj[" + i + "] is " +
          document.valueTest.radioObj[i].value +"<BR>")
   }
   msgWindow.document.close()
}

Будут выведены следующие значения:

on
on
on
on

В этом примере предполагается, что кнопки были определены так:

<BR><INPUT TYPE="radio" NAME="radioObj">R&B
<BR><INPUT TYPE="radio" NAME="radioObj" CHECKED>Soul
<BR><INPUT TYPE="radio" NAME="radioObj">Rock and Roll
<BR><INPUT TYPE="radio" NAME="radioObj">Blues

См. также

Radio.checked, Radio.defaultChecked
§ ← → У


RegExp

Объект - регулярное выражение, содержащий патэрн регулярного выражения. Он имеет свойства и методы для использования этого регулярного выражения при поиске и замене совпадений в строках.

Помимо свойств отдельного объекта регулярного выражения, который Вы создаёте через использование функции-конструктора RegExp, предопределённый объект RegExp имеет static-свойства, которые устанавливаются всякий раз при использовании любого регулярного выражения.

Объект ядра

Реализован в

JavaScript 1.2, NES 3.0

JavaScript 1.3: добавлен метод toSource.

Создание

Формат текста литерала функции-конструктора RegExp.

Формат литерала используется так:

/pattern/flags

Функция-конструктор используется так:

new RegExp("pattern"[, "flags"])

Параметры

pattern

Текст регулярного выражения.

flags

Если флаги специфицированы, они имеют следующие значения:

  • g: глобальное совпадение

  • i: игнорировать регистр

  • gi: глобальное совпадение и игнорирование регистра

Заметьте, что параметры формата литерала не используют знаки кавычек для обозначения строк, а параметры функции-конструктора - используют. Так, следующие выражения создают одно регулярное выражение:

/ab+c/i
new RegExp("ab+c", "i")

Описание

При использовании функции-конструктора необходимо использовать нормальные правила замены (escape) символов (вставка перед специальными символами обратного слэша \). Например, следующие записи эквивалентны:

re = new RegExp("\\w+")
re = /\w+/

В таблице дан полный список и описание специальных символов, которые могут использоваться в регулярных выражениях.

Таблица 1.3 Специальные символы в регулярных выражениях
Символ Значение
\

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

Например, /b/ совпадает с символом 'b'. Поместив backslash перед b, /\b/, делаем символ специальным, в данном случае - обозначающим границу слова.

-или-

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

Например, * это спецсимвол, означающий 0 или более совпадений предыдущего символа; например, /a*/ означает 0 или более совпадений символа а. Для подстановки * литерально, предварите его обратным слэшем; например, /a\*/ совпадает с 'a*'.

^

Совпадение в начале ввода или строки.

Например, /^A/ не совпадает с 'A' в строке "an A," но совпадает в "An A."

$

Совпадение в конце ввода или строки.

Например, /t$/ не совпадает с 't' в "eater", но совпадает в "eat"

*

Совпадение предшествующего символа 0 или более раз.

Например, /bo*/ совпадает с 'boooo' в "A ghost booooed" и с 'b' в "A bird warbled", но совпадений нет в "A goat grunted".

+

Совпадение предшествующего символа 1 или более раз. Эквивалентно {1,}.

Например, /a+/ совпадает с 'a' в "candy" и со всеми a в "caaaaaaandy."

?

Совпадение предшествующего символа 1 или более раз.

Например, /e?le?/ совпадает с 'el' in "angel" and the 'le' in "angle."

.

(Десятичная точка) совпадает с любым символом, за исключением символа новой строки.

Например, /.n/ совпадает с 'an' и с 'on' в "nay, an apple is on the tree", но не с 'nay'.

(x)

Совпадает с 'x' и запоминает совпадение.

Например, /(foo)/ совпадает (и запоминается) с 'foo' в "foo bar." Совпавшая подстрока может быть вызвана из элементов результирующего массива [1], ..., [n] или из свойств $1, ..., $9 предопределённого объекта RegExp.

x|y

Совпадает с 'x' или с 'y'.

Например, /green|red/ совпадает с 'green' в "green apple" и с 'red' в "red apple".

{n}

Где n это положительное целое число. Совпадение предшествующего символа точно n раз.

Например, /a{2}/ не совпадает с 'a' в "candy," но совпадает с со всеми а в "caandy" и с первыми двумя а в "caaandy."

{n,}

Где n это положительное целое число. Совпадение как минимум n появлений предшествующего символа.

Например, /a{2,} не совпадает с 'a' в "candy", но совпадает со всеми а в "caandy" и в "caaaaaaandy".

{n,m}

Где n и m это положительные целые числа. Совпадают минимум n и максимум m вхождений предшествующего символа.

Например, /a{1,3}/ не совпадает ни с чем в "cndy", совпадает с 'a' в "candy", двумя а в "caandy" и первыми тремя a в "caaaaaaandy". Заметьте, что, при совпадении с "caaaaaaandy", совпадает "aaa", хотя строка-оригинал содержит больше а.

[xyz]

Набор символов. Совпадает с одним (любым) из символов набора. Можно специфицировать диапазон символов с помощью дефиса.

Например, [abcd] равносильно [a-c]. Они совпадают с 'b' в "brisket" и с 'c' в "ache".

[^xyz]

Отрицающий набор символов. То есть он совпадает со всем, кроме того, что содержится в скобках. Можно специфицировать диапазон символов с помощью дефиса.

Например, [^abc] равносильно [^a-c]. Совпадает с 'r' в "brisket" и с 'h' в "chop."

[\b]

Совпадает с backspace. (Не путайте с \b.)

\b

Соответствует границе слова, такой как space/пробел. (Не путайте с [\b].)

Например, /\bn\w/ совпадает с 'no' в "noonday";/\wy\b/ совпадает с 'ly' в "possibly yesterday."

\B

Совпадает с не-границей слова.

Например, /\w\Bn/ совпадает с 'on' в "noonday", и /y\B\w/ совпадает с 'ye' в "possibly yesterday."

\cX

Где X это управляющий символ. Совпадает с управляющим символом в строке.

Например, /\cM/ совпадает с control-M в строке.

\d

Совпадает с цифровым символом. Эквивалентно [0-9].

Например, /\d/ или /[0-9]/ совпадает с '2' в "B2 is the suite number."

\D

Совпадает с любым нецифровым символом. Эквивалентно [^0-9].

Например, /\D/ или /[^0-9]/ совпадает с matches 'B' в "B2 is the suite number."

\f

Совпадает с form-feed/прогоном страницы.

\n

Совпадает с linefeed/прогоном строки.

\r

Совпадает с carriage return/возвратом каретки.

\s

Совпадает с одиночным пробельным символом, включая space, tab, form feed, line feed. Эквивалентно [ \f\n\r\t\v].

Например, /\s\w*/ совпадает с ' bar' в "foo bar."

\S

Совпадает с одиночным символом, отличным от пробельного символа. Эквивалентно [^ \f\n\r\t\v].

Например, /\S/\w* совпадает с 'foo' в "foo bar."

\t

Совпадает с tab/табуляцией.

\v

Совпадает с vertical tab/вертикальной табуляцией.

\w

Совпадает с любым алфавитным или цифровым символом, включая символ подчёркивания. Эквивалентно [A-Za-z0-9_].

Например, /\w/ совпадает с 'a' в "apple", с '5' в "$5.28" и с '3' в "3D."

\W

Совпадает с любым несловарным символом. Эквивалентно [^A-Za-z0-9_].

Например, /\W/ или /[^$A-Za-z0-9_]/ совпадает с '%' в "50%."

\n

Где n это положительное целое. Обратная ссылка на последнюю подстроку, совпавшую с n символов в скобках в регулярном выражении (с учётом левой скобки).

Например, /apple(,)\sorange\1/ совпадает с 'apple, orange,' в "apple, orange, cherry, peach." Более полные примеры даны после этой таблицы.

Примечание: Если количество левых скобок меньше числа, специфицированного в \n, \n считается 8-ричной escape-заменой, как описано в следующем ряду данной таблицы.

\ooctal
\xhex

Где \o octal это 8-ричное escape-значение или где \x hex это 16-ричное escape-значение. Позволяет внедрять ASCII-коды в регулярные выражения.

Литеральная нотация предоставляет компиляцию регулярного выражения при вычислении выражения. Используйте литеральную нотацию, если регулярное выражение останется константным. Например, если Вы используете литеральную нотацию для построения регулярного выражения, используемого в цикле, регулярное выражение не будет перекомпилироваться при каждой итерации.

Конструктор объекта регулярного выражения, например, new RegExp("ab+c"), предоставляет компиляцию регулярного выражения на этапе прогона. Используйте функцию-конструктор, если Вы знаете, что патэрн регулярного выражения будет изменяться, или если патэрн Вам не известен и получается из другого источника, как при вводе пользователя. После того как Вы определили регулярное выражение, и если это регулярное выражение используется по всему скрипту и может изменяться, Вы можете использовать метод compile для компиляции нового регулярного выражения для обеспечения эффективного многократного использования.

Отдельный предопределённый объект RegExp имеется в каждом окне; то есть каждый отдельный поток выполнения JavaScript получает свой собственный объект RegExp. Поскольку каждый скрипт запускается на выполнение без прерывания потока, это гарантирует, что разные скрипты не перепишут значения объекта RegExp.

Предопределённый объект RegExp имеет static-свойства input, multiline, lastMatch, lastParen, leftContext, rightContext и с $1 по $9. Свойства input и multiline могут быть предустановлены. Значения других static-свойств устанавливаются после выполнения методов exec и test отдельного объекта регулярного выражения и после выполнения методов match и replace объекта String.

Свойства. Резюме.

Обратите внимание, что некоторые свойства объекта RegExp имеют длинные и сокращённые (Perl-подобные) имена. Оба имени всегда ссылаются на одно и то же значение. Perl это язык программирования, из которого JavaScript смоделировал регулярные выражения.

Свойство Описание
$1, ..., $9

Совпадения подстрок в скобках, если имеются.

$_

См. input.

$*

См. multiline.

$&

См. lastMatch.

$+

См. lastParen.

$`

См. leftContext.

$'

См. rightContext.

constructor

Специфицирует функцию, которая создаёт прототип объекта.

global

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

ignoreCase

Игнорировать ли регистр при поиске совпадения в строке.

input

Строка, относительно которой выполняется поиск совпадения с регулярным выражением.

lastIndex

Индекс, с которого начинается следующее совпадение.

lastMatch

Последние совпавшие символы.

lastParen

Последнее совпадение подстроки в скобках, если имеется.

leftContext

Подстрока, предшествующая самому последнему совпадению.

multiline

Искать ли на нескольких строках.

prototype

Позволяет добавлять свойства всем объектам.

rightContext

Строка, следующая за самым последним совпадением.

source

Текст патэрна.

Методы. Резюме

Метод Описание
compile

Компилирует объект регулярного выражения.

exec

Выполняет поиск совпадения в своём строковом параметре.

test

Тестирует на совпадение в своём строковом параметре.

toSource

Возвращает литерал объекта, представляющий специфицированный объект; Вы можете использовать это значение для создания нового объекта. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую специфицированный объект. Переопределяет метод Object.toString.

valueOf

Возвращает примитивное значение специфицированного объекта. Переопределяет метод Object.valueOf.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Следующий скрипт использует метод replace для переключения слов в строке. Для заменяющего текста скрипт использует значения свойств $1 и $2 глобального объекта RegExp. Обратите внимание, что имя объекта RegExp не предшествует свойствам $, когда они передаются как второй аргумент методу replace.

<SCRIPT LANGUAGE="JavaScript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr=str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>

Будет выведено "Smith, John".

Пример 2. Здесь RegExp.input устанавливается событием Change. В функции getInfo метод exec использует значение RegExp.input в качестве аргумента. Обратите внимание, что RegExp присоединён к свойствам $.

<HTML>
<SCRIPT LANGUAGE="JavaScript1.2">
function getInfo() {
   re = /(\w+)\s(\d+)/;
   re.exec();
   window.alert(RegExp.$1 + ", your age is " + RegExp.$2);
}
</SCRIPT>
Enter your first name and your age, and then press Enter.
<FORM>
<INPUT TYPE:"TEXT" NAME="NameAge" onChange="getInfo(this);">
</FORM>
</HTML>

$1, ..., $9

Свойства, которые содержат содержат совпадения подстрок в скобках, если имеются.

Свойство из | RegExp
Static, Только для чтения
Реализованы в | JavaScript 1.2, NES 3.0

Описание

Поскольку input является static-свойством, оно не является свойством отдельного объекта регулярного выражения. Поэтому Вы всегда используете его так: RegExp.input.

Количество подстрок в скобках не ограничивается, но предопределённый объект RegExp может содержать только последние девять. Вы можете иметь доступ ко всем подстрокам в скобках через возвращаемые индексы массива.

Эти свойства могут использоваться в замещающем тексте для метода String.replace. При таком использовании не вводите перед ними префикс RegExp. Пример далее иллюстрирует это. Если скобки не включены в регулярное выражение, скрипт интерпретирует $n литерально (где n это положительное целое число).

Пример

Этот скрипт использует метод replace для переключения слов в строке. Для заменяющего текста скрипт использует значения свойств $1 и $2 глобального объекта RegExp. Обратите внимание, что имя объекта RegExp не предшествует свойствам $, когда они передаются как второй аргумент методу replace.

<SCRIPT LANGUAGE="JavaScript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr=str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>

This displays "Smith, John".

$_

См. input.

$*

См. multiline.

$&

См. lastMatch.

$+

См. lastParen.

$`

См. leftContext.

$'

См. rightContext.

compile

Компилирует объект регулярного выражения в процессе выполнения скрипта.

Метод из | RegExp
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

regexp.compile(pattern[, flags])

Параметры

regexp

Имя регулярного выражения. Может быть именем переменной или литералом.

pattern

Строка, содержащая текст регулярного выражения.

flags

Если флаги специфицированы, могут иметь одно из следующих значений:

  • "g": глобальный поиск совпадения

  • "i": игнорировать регистр символов

  • "gi": глобальный поиск и игнорирование регистра

Описание

Метод compile используется для компиляции регулярного выражения, созданного функцией-конструктором RegExp. Это форсирует компиляцию регулярного выражения только однократно, что означает, что регулярное выражение не компилируется всякий раз при его обнаружении. Используйте метод compile, когда Вам известно, что регулярное выражение будет константным (после получения его патэрна) и будет многократно использоваться в скрипте.

Вы можете также использовать метод compile для изменения регулярного выражения в процессе выполнения. Например, если регулярное выражение изменяется, вы можете использовать метод compile для рекомпиляции объекта для повышения эффективности последующего неоднократного использования.

Вызов этого метода изменяет значение свойств source, global и ignoreCase регулярного выражения.

constructor

Специфицирует функцию, которая создаёт прототип объекта. Обратите внимание, что значением этого свойства является ссылка на саму функцию, а не строка, содержащая имя функции.

Свойство из | RegExp
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

См. Object.constructor.

exec

Выполняет поиск совпадения в специфицированной строке. Возвращает результирующий массив.

Метод из | RegExp
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

regexp.exec([str])
regexp([str])

Параметры

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.

str

Строка, относительно которой производится поиск совпадений регулярного выражения. Если отсутствует, используется значение RegExp.input.

Описание

Как видно из описания синтаксиса, метод exec регулярного выражения может быть вызван напрямую (regexp.exec(str)) или неявно (regexp(str)).

Если Вы ищете совпадение просто для того, чтобы определить true или false, используйте метод test или метод String search.

Если совпадение найдено, метод exec возвращает массив и обновляет свойства объекта регулярного выражения и предопределённого объекта регулярного выражения, RegExp. Если совпадение не найдено, метод exec возвращает null.

Рассмотрим пример:

<SCRIPT LANGUAGE="JavaScript1.2">
//Совпадает один символ d, с последующим одним или более b, с последующим одним d
//Запоминается совпадение b с последующим d
//Регистр игнорируется
myRe=/d(b+)(d)/ig;
myArray = myRe.exec("cdbBdbsbz");
</SCRIPT>

В таблице показан результат работы скрипта:

Объект Свойство/Индекс Описание Пример
myArray

Контекст массива myArray

["dbBd", "bB", "d"]

index

Индекс совпадений в строке с базой 0

1

input

Строка-оригинал

cdbBdbsbz

[0]

Последние совпавшие символы

dbBd

[1], ...[n]

Совпадения подстрок в скобках, если имеются. Количество подстрок в скобках не ограничивается.

[1] = bB
[2] = d

myRe
lastIndex

Индекс начала следующего совпадения.

5

ignoreCase

Указывает, используется ли флаг "i" для игнорирования регистра символов

true

global

Указывает, используется ли флаг "g" для глобального поиска совпадения

true

source

Текст патэрна

d(b+)(d)

RegExp
lastMatch
$&

Последние совпавшие символы

dbBd

leftContext
$\Q

Подстрока, предшествующая последнему совпадению

c

rightContext
$'

Подстрока, идущая после последнего совпадения

bsbz

$1, ...$9

Совпадения подстрок в скобках, если имеются. Количество возможных подстрок в скобках не ограничивается, но RegExp может содержать только последние девять.

$1 = bB
$2 = d

lastParen
$+

Последнее совпадение подстроки в скобках, если имеется.

d

Если в регулярно выражении используется флаг "g", Вы можете многократно использовать метод exec для поиска успешных совпадений в той же самой строке. При этом поиск стартует с подстроки str, специфицированной свойством lastIndex регулярного выражения. Например, такой скрипт:

<SCRIPT LANGUAGE="JavaScript1.2">
myRe=/ab*/g;
str = "abbcdefabh"
myArray = myRe.exec(str);
document.writeln("Found " + myArray[0] +
   ". Next match starts at " + myRe.lastIndex)
mySecondArray = myRe.exec(str);
document.writeln("Found " + mySecondArray[0] +
   ". Next match starts at " + myRe.lastIndex)
</SCRIPT>

Отобразит следующий текст:

Found abb. Next match starts at 3
Found ab. Next match starts at 9

Пример

В этом примере пользователь вводит имя, и скрипт выполняет совпадения относительно ввода. Затем циклически проходит по массиву, чтобы проверить, нет ли других имён, совпадающих с именем пользователя.

В скрипте предполагается, что первые зарегистрированные имена предварительно загружаются в массив A, возможно, с получением их из базы данных party.

<HTML>
<SCRIPT LANGUAGE="JavaScript1.2">
A = ["Frank", "Emily", "Jane", "Harry", "Nick", "Beth", "Rick",
      "Terrence", "Carol", "Ann", "Terry", "Frank", "Alice", "Rick",
      "Bill", "Tom", "Fiona", "Jane", "William", "Joan", "Beth"]
function lookup() {
   firstName = /\w+/i();
   if (!firstName)
      window.alert (RegExp.input + " isn't a name!");
   else {
      count = 0;
      for (i=0; i<A.length; i++)
         if (firstName[0].toLowerCase() == A[i].toLowerCase()) count++;
      if (count ==1)
         midstring = " other has ";
      else
         midstring = " others have ";
      window.alert ("Thanks, " + count + midstring + "the same name!")
   }
}
</SCRIPT>
Enter your first name and then press Enter.
<FORM> <INPUT TYPE:"TEXT" NAME="FirstName" onChange="lookup(this);"> </FORM>
</HTML>

global

Используется ли флаг "g" в регулярном выражении.

Свойство из | RegExp
Только для чтения
Реализовано в | JavaScript 1.2, NES 3.0

Описание

global это свойство отдельного объекта регулярного выражения.

Значение global будет true, если флаг "g" используется; иначе - false. Флаг "g" указывает, что регулярное выражение должно проверяться относительно всех возможных совпадений в строке.

Вы не можете изменять это свойство явно. Однако вызов метода compile изменяет значение этого свойства.

ignoreCase

Используется ли флаг "i" в регулярном выражении.

Свойство из | RegExp
Только для чтения
Реализовано в | JavaScript 1.2, NES 3.0

Описание

ignoreCase это свойство отдельного объекта регулярного выражения.

Значение ignoreCase будет true, если флаг "i" используется; иначе - false. Флаг "i" указывает, что регистр символов должен игнорироваться при поиске совпадений в строке.

Вы не можете изменять это свойство явно. Однако вызов метода compile изменяет значение этого свойства.

input

Строка, относительно которой выполняется поиск совпадений с регулярным выражением. $_ является другим именем этого свойства.

Свойство из | RegExp
Static
Реализовано в | JavaScript 1.2, NES 3.0

Описание

Поскольку input это static-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.input.

Если методам exec или test регулярного выражения не предоставляются аргументы и если RegExp.input имеет значение, это значение используется как аргумент для этих методов.

Скрипт или браузер могут предварительно устанавливать свойство input. Если это сделано и если не предоставляется явно строковой аргумент, значение input используется как строковой аргумент для методов exec или test объекта регулярного выражения. input устанавливается браузером в следующих случаях:

  • Если обработчик вызывается для элемента TEXT, в input устанавливается значение текстового содержимого.
  • Если обработчик вызывается для элемента TEXTAREA, в input устанавливается значение текстового содержимого. Заметьте, что multiline также устанавливается в true, поэтому поиск совпадений может производиться по нескольким строкам текста.
  • Если обработчик вызывается для элемента SELECT, в input устанавливается значение выбранного текста.
  • Если обработчик вызывается для объекта Link, в input устанавливается значение текста метжду тэгами <A HREF=...> и </A>.

Значение свойства input очищается после завершения работы обработчика события.

lastIndex

Целочисленное свойство чтения/записи, которое специфицирует индекс, с которого стартует следующий поиск совпадения.

Свойство из | RegExp
Реализовано в | JavaScript 1.2, NES 3.0

Описание

lastIndex это свойство отдельного объекта регулярного выражения.

Это свойство устанавливается, только если регулярное выражение использовало флаг "g" для выполнения глобального поиска. Применяются следующие правила:

  • Если lastIndex превышает размер строки, regexp.test и regexp.exec терпят неудачу, а lastIndex устанавливается в 0.
  • Если lastIndex равен длине строки и если регулярное выражение совпадает с пустой строкой, то регулярное выражение совпадает с вводом, начиная с lastIndex.
  • Если lastIndex равен длине строки и если регулярное выражение не совпадает с пустой строкой, то регулярное выражение не совпадает с вводом, а lastIndex снова устанавливается в 0.
  • Иначе lastIndex устанавливается в следующую позицию после самого последнего совпадения.

Например, рассмотрим следующую последовательность операторов:

re = /(hi)?/g

Совпадает с пустой строкой.

re("hi")

Возвращает ["hi", "hi"] с lastIndex, равным 2.

re("hi")

Возвращает [""], пустой массив, чей нулевой элемент является совпавшей строкой. В данном случае это пустая строка, поскольку lastIndex был 2 (и всё ещё остаётся 2), а "hi" имеет размер 2.

lastMatch

Последние совпавшие символы. $& это другое имя этого же самого свойства.

Свойство из | RegExp
Static, Только для чтения
Реализовано в | JavaScript 1.2, NES 3.0

Описание

Поскольку lastMatch это static-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.lastMatch.

lastParen

Последнее совпадение подстроки в скобках, если имеется. $+ это другое имя этого же самого свойства.

Свойство из | RegExp
Static, Только для чтения
Реализовано в | JavaScript 1.2, NES 3.0

Описание

Поскольку lastParen iэто static-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.lastParen.

leftContext

Подстрока, предшествующая самому последнему совпадению. $` это другое имя этого же самого свойства.

Свойство из | RegExp
Static, Только для чтения
Реализовано в | JavaScript 1.2, NES 3.0

Описание

Поскольку leftContext это statiс-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.leftContext.

multiline

Искать ли на нескольких строках. $* это другое имя этого же самого свойства.

Свойство из | RegExp
Static
Реализовано в | JavaScript 1.2, NES 3.0

Описание

Поскольку multiline это statiс-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.multiline.

Значение multiline будет true, если выполняется поиск на нескольких строках текста, false - если поиск обязан остановиться на символе конца строки.

Скрипт или браузер могут предустанавливать свойство multiline. Если обработчик события вызывается из элемента TEXTAREA, браузер устанавливает multiline в true.
multiline очищается после завершения работы обработчика события. Это означает, что, если Вы предварительно установили multiline в true, оно восстанавливается в false после выполнения работы любого обработчика события.

prototype

Предоставляет прототип для данного класса. Вы можете использовать этот прототип для добавления свойств или методов во все экземпляры класса. О прототипах см. Function.prototype.

Свойство из | RegExp
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

rightContext

Подстрока, идущая за самым последним совпадением. $' это другое имя этого же самого свойства.

Свойство из | RegExp
Static, Только для чтения
Реализовано в | JavaScript 1.2, NES 3.0

Описание

Поскольку rightContext это statiс-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.rightContext.

source

Свойство "только для чтения", содержащее текст патэрна, исключая слэши (/) и флаги "g" и "i".

Свойство из | RegExp
Только для чтения
Реализовано в | JavaScript 1.2, NES 3.0

Описание

source это свойство отдельного объекта регулярного выражения.

Вы не можете изменять это свойство явно. Однако вызов метода compile изменяет значение этого свойства.

test

Выполняет поиск совпадения регулярного выражения и специфицированной строки. Возвращает true или false.

Метод из | RegExp
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

regexp.test([str])

Параметры

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.

str

Строка, относительно которой производится подстановка регулярного выражения. Если отсутствует, используется значение RegExp.input.

Описание

Если Вам нужно знать, найдено ли совпадение патэрна в строке, используйте метод test (аналогично методу String.search); для получения большей информации (но при более медленном выполнении) используйте метод exec (аналогично методу String.match).

Пример

Печатается сообщение, содержание которого зависит от успешности прохождения теста:

function testinput(re, str){
   if (re.test(str))
      midstring = " contains ";
   else
      midstring = " does not contain ";
   document.write (str + midstring + re.source);
}

toSource

Возвращает строку, представляющую исходный код объекта.

Метод из | RegExp
Реализован в | JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта RegExp метод toSource возвращает следующую строку, означающую, что исходный код недоступен:
       function Boolean() {
          [native code]
       }
  • Для экземпляров объекта RegExp метод toSource возвращает строку, представляющую исходный код объекта.

Этот метод обычно вызывается в JavaScript внутренне, а не явно в коде.

См. также

Object.toSource

toString

Возвращает строку, представляющую специфицированный объект.

Метод из | RegExp
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toString()

Параметры

Отсутствуют.

Описание

Объект RegExp переопределяет метод toString объекта Object; он не наследует Object.toString. Для объектов RegExp метод toString возвращает строковое представление объекта.

Пример

Выводится строка, отображающая строковое значение объекта RegExp:

myExp = new RegExp("a+b+c");
alert(myExp.toString())  //    выведет "/a+b+c/"

См. также

Object.toString

valueOf

Возвращает примитивное значение RegExp-объекта.

Метод из | RegExp
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

Метод valueOf объекта RegExp возвращает примитивное значение RegExp-объекта как тип данных string. Это значение эквивалентно RegExp.toString.

Этот метод обычно вызывается в JavaScript внутренне, а не явно в коде.

Пример

myExp = new RegExp("a+b+c");
alert(myExp.valueOf())         выведет "/a+b+c/"

См. также

RegExp.toString, Object.valueOf
§ ← → У


Reset

Копка восстановления данных по умолчанию элементов HTML-формы.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type; добавлены обработчики событий onBlur и onFocus; добавлены методы blur и focus. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэг INPUT со значением "reset" в атрибуте TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующий Reset-объект и помещает его в массив elements соответствующего объекта Form. Вы получаете доступ к Reset-объекту по индексу в этом массиве. Можно индексировать массив по числам или, если имеются, по значениям атрибутов NAME.

Обработчики событий

  • onBlur
  • onClick
  • onFocus

Описание

Объект Reset на форме выглядит так:

Объект Reset является элементом формы и обязан определяться в тэге FORM.

Обработчик onClick кнопки reset не может предотвратить восстановление данных формы; если кнопка нажата, восстановление не может быть отменено.

Свойства. Резюме.

Свойство Описание
form

Специфицирует форму, содержащую объект Reset.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает атрибут VALUE.

Методы. Резюме.

Метод Описание
blur

Убирает фокус с кнопки reset.

click

Симулирует щелчок мыши по кнопке reset.

focus

Передаёт фокус кнопке reset.

handleEvent

Вызывает обработчик для специфицированного события.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Здесь отображается Text-объект со значением по умолчанию "CA" и кнопка reset с текстом "Clear Form" на поверхности. Если пользователь печатает аббревиатуру штата в объекте Text и щёлкает кнопку Clear Form, восстанавливается оригинальное значение "CA".

<B>State: </B><INPUT TYPE="text" NAME="state" VALUE="CA" SIZE="2">
<P><INPUT TYPE="reset" VALUE="Clear Form">

Пример 2. Здесь имеются два объекта Text, объект Select и три радио-кнопки; все эти объекты имеют значения по умолчанию. На форме имеется также кнопка reset с текстом "Defaults" на ней. Если пользователь изменяет значение любого из этих объектов и щёлкает кнопку Defaults, восстанавливаются начальные значения.

<HTML>
<HEAD>
<TITLE>Reset object example</TITLE>
</HEAD>
<BODY>
<FORM NAME="form1">
<BR><B>City: </B><INPUT TYPE="text" NAME="city" VALUE="Santa Cruz" SIZE="20">
<B>State: </B><INPUT TYPE="text" NAME="state" VALUE="CA" SIZE="2">
<P><SELECT NAME="colorChoice">
   <OPTION SELECTED> Blue
   <OPTION> Yellow
   <OPTION> Green
   <OPTION> Red
</SELECT>
<P><INPUT TYPE="radio" NAME="musicChoice" VALUE="soul-and-r&b"
   CHECKED> Soul and R&B
<BR><INPUT TYPE="radio" NAME="musicChoice" VALUE="jazz">
   Jazz
<BR><INPUT TYPE="radio" NAME="musicChoice" VALUE="classical">
   Classical
<P><INPUT TYPE="reset" VALUE="Defaults" NAME="reset1">
</FORM>
</BODY>
</HTML>

См. также

Button, Form, onReset, Form.reset, Submit

blur

Убирает фокус с кнопки reset.

Метод из | Reset
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

Примеры

Здесь убирается фокус с reset-кнопки userReset:

userReset.blur()

Предполагается, что кнопка определена так:

<INPUT TYPE="reset" NAME="userReset">

См. также

Reset.focus

click

Симулирует щелчок мыши по кнопке reset, но не запускает обработчик onClick объекта.

Метод из | Reset
Реализован в | JavaScript 1.0

Синтаксис

click()

Параметры

Отсутствуют.

focus

Переходит к кнопке reset и передаёт ей фокус.

Метод из | Reset
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

См. также

Reset.blur

form

Ссылка объекта, специфицирующая форму, содержащую кнопку reset.

Свойство из | Reset
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в основном в обработчиках событий, где Вам может понадобиться обратиться к другому элементу текущей формы.

См. также

Form

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Reset
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик.

name

Строка, специфицирующая имя кнопки reset.

Свойство из | Reset
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Значение свойства name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку.

Не путайте свойство name с текстом, отображаемым на поверхности кнопки reset. Свойство value специфицирует текст на поверхности кнопки. Свойство name не отображается на экране; оно используется для программного обращения к кнопке.

Если несколько объектов на одной форме имеют одинаковые значения в атрибуте NAME, автоматически создаётся массив из этих имён. Каждый элемент этого массива представляет отдельный Form-объект. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент Reset на одной форме имеют в атрибутах NAME значение "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. вы должны знать о такой ситуации в Вашем коде и знать, ссылается ли myField на отдельный элемент или на массив элементов.

Пример

В этом примере функция valueGetter использует цикл for для итерации по массиву элементов формы valueTest. Окно msgWindow отображает имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

См. также

Reset.value

type

Для всех объектов Reset значение свойства type будет "reset". Это свойство специфицирует тип элемента формы.

Свойство из | Reset
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Здесь записываются значения свойства type каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {
   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, отражающая значение атрибута VALUE кнопки reset.

Свойство из | Reset
Только для чтения |
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство .

Описание

Эта строка отображается на поверхности кнопки. Если атрибут VALUE не специфицирован в HTML, свойство value имеет значение "Reset".

Не путайте свойство value со свойством name. Свойство name не отображается на экране; оно используется для программного обращения к кнопке.

Примеры

Эта функция вычисляет свойство value группы кнопок и и отображает его в окне msgWindow:

function valueGetter() {
   var msgWindow=window.open("")
   msgWindow.document.write("submitButton.value is " +
      document.valueTest.submitButton.value + "<BR>")
   msgWindow.document.write("resetButton.value is " +
      document.valueTest.resetButton.value + "<BR>")
   msgWindow.document.write("helpButton.value is " +
      document.valueTest.helpButton.value + "<BR>")
   msgWindow.document.close()
}

Этот пример выведет:

Query Submit
Reset
Help

Предполагается, что кнопки были определены так:

<INPUT TYPE="submit" NAME="submitButton">
<INPUT TYPE="reset" NAME="resetButton">
<INPUT TYPE="button" NAME="helpButton" VALUE="Help">

См. также

Reset.name
§ ← → У


screen

Содержит свойства, описывающие экран и цвета монитора.

Клиентский объект |
Реализован в | JavaScript 1.2

Создание

Машина выполнения JavaScript создаёт для Вас объект screen. Вы автоматически получаете доступ к его свойствам.

Описание

Этот объект содержит свойства только для чтения/read-only, которые позволяют получить информацию о пользовательском мониторе.

Свойства. Резюме.

Свойство Описание
availHeight

Специфицирует высоту экрана в пикселах, минус постоянные или полупостоянные настройки пользовательского интерфейса, отображаемые операционной системой, такие как Taskbar в Windows.

availLeft

Специфицирует х-координату первого пиксела, который не размещен в постоянных или полупостоянных настройках пользовательского интерфейса.

availTop

Специфицирует у-координату первого пиксела, который не размещен в постоянных или полупостоянных настройках пользовательского интерфейса.

availWidth

Специфицирует ширину экрана в пикселах, минус постоянные или полупостоянные настройки пользовательского интерфейса, отображаемые операционной системой, такие как Taskbar в Windows.

colorDepth

Битовая глубина цветовой гаммы, если она используется; иначе значение берётся из screen.pixelDepth.

height

Высота экрана монитора.

pixelDepth

Разрешение экрана монитора (в битах на пиксел).

width

Ширина экрана монитора.

Методы. Резюме.

Этот объект наследует методы watch и unwatch из объекта Object.

Пример

Функция создаёт строку, содержащую текущие свойства монитора:

function screen_properties() {
   document.examples.results.value = "("+screen.width+" x
      "+screen.height+") pixels, "+
      screen.pixelDepth +" bit depth, "+
      screen.colorDepth +" bit color palette depth.";
} // end function screen_properties

availHeight

Специфицирует высоту экрана в пикселах, минус постоянные или полупостоянные настройки пользовательского интерфейса, отображаемые операционной системой, такие как Taskbar в Windows.

Свойство из | screen
Реализовано в | JavaScript 1.2

См. также

screen.availTop

availLeft

Специфицирует х-координату первого пиксела, который не размещен в постоянных или полупостоянных настройках пользовательского интерфейса.

Свойство из | screen
Реализовано в | JavaScript 1.2

См. также

screen.availWidth

availTop

Специфицирует у-координату первого пиксела, который не размещен в постоянных или полупостоянных настройках пользовательского интерфейса.

Свойство из | screen
Реализовано в | JavaScript 1.2

См. также

screen.availHeight

availWidth

Специфицирует ширину экрана в пикселах, минус постоянные или полупостоянные настройки пользовательского интерфейса, отображаемые операционной системой, такие как Taskbar в Windows.

Свойство из | screen
Реализовано в | JavaScript 1.2

См. также

screen.availLeft

colorDepth

Битовая глубина цветовой палитры в битах на пиксел, если палитра используется. Иначе это свойство берётся из screen.pixelDepth.

Свойство из | screen
Реализовано в | JavaScript 1.2

height

Высота экрана монитора в пикселах.

Свойство из | screen
Реализовано в | JavaScript 1.2

pixelDepth

Цветовое разрешение монитора в битах пиксел.

Свойство из | screen
Реализовано в | JavaScript 1.2

width

Ширина экрана монитора в пикселах.

Свойство из | screen
Реализовано в | JavaScript 1.2


Select

Список выбора на HTML-форме. Пользователь может выбрать один или более элементов из списка selection в зависимости от того, как список создан.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type; введена возможность добавлять и удалять опции. JavaScript 1.2:добавлен метод handleEvent.

Создание

HTML-тэгом SELECT. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты Select для каждого списка selection и помещает эти объекты в массив elements соответствующего объекта Form. Вы получаете доступ к объекту Select по индексу в этом массиве. Можно индексировать массив по числам или, если имеются, по значениям атрибутов NAME.

Машина выполнения создаёт также объекты Option для каждого тэга OPTION внутри тэга SELECT.

Обработчики событий

  • onBlur
  • onChange
  • onFocus

Описание

На рисунке показана форма с двумя списками selection. Пользователь может выбрать один элемент из списка слева и несколько элементов в списке справа:

Объект Select это элемент формы, он обязан быть определён в тэге FORM.

Свойства. Резюме.

Свойство Описание
form

Специфицирует форму, содержащую список selection.

length

Отражает количество опций в списке selection.

name

Отражает атрибут NAME.

options

Отражает тэги OPTION.

selectedIndex

Отражает индекс выбранной опции (или первой выбранной опции, если выбрано несколько опций).

type

Специфицирует, что представляемый им объект это список selection и может ли он иметь одну или более выбранных опций.

Методы. Резюме.

Метод Описание
blur

Убирает фокус со списка selection.

focus

Передаёт фокус списку selection.

handleEvent

Вызывает обработчик для специфицированного события.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Отображаются два списка selection. В первом списке пользователь может выбрать только один элемент; во втором списке можно выбрать несколько элементов.

Choose the music type for your free CD:
<SELECT NAME="music_type_single">
   <OPTION SELECTED> R&B
   <OPTION> Jazz
   <OPTION> Blues
   <OPTION> New Age
</SELECT>
<P>Choose the music types for your free CDs:
<BR><SELECT NAME="music_type_multi" MULTIPLE>
   <OPTION SELECTED> R&B
   <OPTION> Jazz
   <OPTION> Blues
   <OPTION> New Age
</SELECT>

Пример 2. Отображаются два списка selection, которые позволяют выбрать месяц и число. Эти списки selection инициализируются текущей датой. Пользователь может изменить месяц и число, используя списки selection или выбрав предустановленные даты радио-кнопками. Текстовые поля на форме отображают значения свойств объектов Select и указывают выбранную дату и то, является ли эта дата Cinco de Mayo.

<HTML>
<HEAD>
<TITLE>Select object example</TITLE>
</HEAD>
<BODY>
<SCRIPT>
var today = new Date()
//---------------
function updatePropertyDisplay(monthObj,dayObj) {
   // Get date strings
   var monthInteger, dayInteger, monthString, dayString
   monthInteger=monthObj.selectedIndex
   dayInteger=dayObj.selectedIndex
   monthString=monthObj.options[monthInteger].text
   dayString=dayObj.options[dayInteger].text
   // Display property values
   document.selectForm.textFullDate.value=monthString + " " + dayString
   document.selectForm.textMonthLength.value=monthObj.length
   document.selectForm.textDayLength.value=dayObj.length
   document.selectForm.textMonthName.value=monthObj.name
   document.selectForm.textDayName.value=dayObj.name
   document.selectForm.textMonthIndex.value=monthObj.selectedIndex
   document.selectForm.textDayIndex.value=dayObj.selectedIndex
   // Is it Cinco de Mayo?
   if (monthObj.options[4].selected && dayObj.options[4].selected)
      document.selectForm.textCinco.value="Yes!"
   else
      document.selectForm.textCinco.value="No"
}
</SCRIPT>
<!--------------->
<FORM NAME="selectForm">
<P><B>Choose a month and day:</B>
Month: <SELECT NAME="monthSelection"
   onChange="updatePropertyDisplay(this,document.selectForm.daySelection)">
   <OPTION> January <OPTION> February <OPTION> March
   <OPTION> April <OPTION> May <OPTION> June
   <OPTION> July <OPTION> August <OPTION> September
   <OPTION> October <OPTION> November <OPTION> December
</SELECT>
Day: <SELECT NAME="daySelection"
   onChange="updatePropertyDisplay(document.selectForm.monthSelection,this)">
   <OPTION> 1 <OPTION> 2 <OPTION> 3 <OPTION> 4 <OPTION> 5
   <OPTION> 6 <OPTION> 7 <OPTION> 8 <OPTION> 9 <OPTION> 10
   <OPTION> 11 <OPTION> 12 <OPTION> 13 <OPTION> 14 <OPTION> 15
   <OPTION> 16 <OPTION> 17 <OPTION> 18 <OPTION> 19 <OPTION> 20
   <OPTION> 21 <OPTION> 22 <OPTION> 23 <OPTION> 24 <OPTION> 25
   <OPTION> 26 <OPTION> 27 <OPTION> 28 <OPTION> 29 <OPTION> 30
   <OPTION> 31
</SELECT>
<P><B>Set the date to: </B>
<INPUT TYPE="radio" NAME="dateChoice"
   onClick="
      monthSelection.selectedIndex=0;
      daySelection.selectedIndex=0;
      updatePropertyDisplay
         document.selectForm.monthSelection,document.selectForm.daySelection)">
   New Year's Day
<INPUT TYPE="radio" NAME="dateChoice"
   onClick="
      monthSelection.selectedIndex=4;
      daySelection.selectedIndex=4;
      updatePropertyDisplay
         (document.selectForm.monthSelection,document.selectForm.daySelection)">
   Cinco de Mayo
<INPUT TYPE="radio" NAME="dateChoice"
   onClick="
      monthSelection.selectedIndex=5;
      daySelection.selectedIndex=20;
      updatePropertyDisplay
         (document.selectForm.monthSelection,document.selectForm.daySelection)">
   Summer Solstice
<P><B>Property values:</B>
<BR>Date chosen: <INPUT TYPE="text" NAME="textFullDate" VALUE="" SIZE=20">
<BR>monthSelection.length<INPUT TYPE="text" NAME="textMonthLength" VALUE="" SIZE=20">
<BR>daySelection.length<INPUT TYPE="text" NAME="textDayLength" VALUE="" SIZE=20">
<BR>monthSelection.name<INPUT TYPE="text" NAME="textMonthName" VALUE="" SIZE=20">
<BR>daySelection.name<INPUT TYPE="text" NAME="textDayName" VALUE="" SIZE=20">
<BR>monthSelection.selectedIndex
   <INPUT TYPE="text" NAME="textMonthIndex" VALUE="" SIZE=20">
<BR>daySelection.selectedIndex<INPUT TYPE="text" NAME="textDayIndex" VALUE="" SIZE=20">
<BR>Is it Cinco de Mayo? <INPUT TYPE="text" NAME="textCinco" VALUE="" SIZE=20">
<SCRIPT>
document.selectForm.monthSelection.selectedIndex=today.getMonth()
document.selectForm.daySelection.selectedIndex=today.getDate()-1
updatePropertyDisplay(document.selectForm.monthSelection,document.selectForm.daySelection)
</SCRIPT>
</FORM>
</BODY>
</HTML>

Пример 3. Добавление опции конструктором Option. В этом примере создаются два объекта Select, один с и другой без атрибута MULTIPLE. Сначала опции ни для одного из объектов не определены. Если пользователь щёлкает кнопку, ассоциированную с объектом Select, функция populate создаёт четыре опции для Select-объекта и выбирает первую опцию.

<SCRIPT>
function populate(inForm) {
   colorArray = new Array("Red", "Blue", "Yellow", "Green")
   var option0 = new Option("Red", "color_red")
   var option1 = new Option("Blue", "color_blue")
   var option2 = new Option("Yellow", "color_yellow")
   var option3 = new Option("Green", "color_green")
   for (var i=0; i < 4; i++) {
      eval("inForm.selectTest.options[i]=option" + i)
      if (i==0) {
         inForm.selectTest.options[i].selected=true
      }
   }
   history.go(0)
}
</SCRIPT>

<H3>Select Option() constructor</H3>
<FORM>
<SELECT NAME="selectTest"></SELECT><P>
<INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)">
<P>
</FORM>
<HR>
<H3>Select-Multiple Option() constructor</H3>
<FORM>
<SELECT NAME="selectTest" multiple></SELECT><P>
<INPUT TYPE="button" VALUE="Populate Select List" onClick="populate(this.form)">
</FORM>

Пример 4. Удаление опции. Следующая функция удаляет опцию из Select-объекта.

function deleteAnItem(theList,itemNo) {
   theList.options[itemNo]=null
   history.go(0)
}

См. также

Form, Radio

blur

Убирает фокус со списка selection.

Метод из | Select
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

См. также

Select.focus

focus

Переходит к списку selection и передаёт ему фокус.

Метод из | Select
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

Описание

Используйте метод focus для перехода к списку selection и передачи ему фокуса.

См. также

Select.blur

form

Ссылка объекта, специфицирующая форму, содержащую список selection.

Свойство из | Select
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в основном в обработчиках событий, где может понадобиться обратиться к другому элементу текущей формы.

См. также

Form

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Select
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого объект имеет обработчик.

length

Количество опций в списке selection.

Свойство из | Select
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Это свойство имеет то же значение, что и Option.length.

name

Строка, специфицирующая имя списка selection.

Свойство из | Select
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name сначала отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку. Свойство name не выводится на экран; оно используется для обращения к списку программно.

Если несколько объектов на одной форме имеют одинаковые значения атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент массива представляет отдельный объект Form. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент Select на одной форме имеют атрибуты NAME со значением "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать о возможности возникновения такой ситуации в вашем коде и знать также, ссылается ли myField на один элемент или на массив элементов.

Пример

Здесь функция valueGetter использует цикл for для итерации по массиву элементов на форме valueTest. Окно msgWindow отображает имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

options

Массив, соответствующий опциям Select-объекта в порядке их появления в исходном коде.

Свойство из | Select
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Вы можете обратиться к опции объекта Select с помощью массива options. Этот массив содержит вхождения для каждой опции объекта Select (тэг OPTION) в порядке расположения в исходном коде. Например, если Select-объект musicStyle имеет три опции, Вы можете получить к ним доступ так: musicStyle.options[0], musicStyle.options[1], musicStyle.options[2].

Для получения количества опций списка selection Вы можете использовать свойство Select.length или length массива options. Например, можно получить количество опций в списке musicStyle с помощью одного из следующих выражений:

musicStyle.length
musicStyle.options.length

Вы можете добавлять опции в список и удалять их, используя этот массив. Чтобы добавить или заменить опцию в существующем объекте Select, Вы присваиваете новый Option-объект в нужное место массива. Например, чтобы создать новый Option-объект jeans и добавить его в конец списка myList, Вы можете использовать следующий код:

jeans = new Option("Blue Jeans", "jeans", false, false);
myList.options[myList.length] = jeans;

Для удаления опции из Select-объекта Вы устанавливаете соответствующий индекс массива options в null. Удаление опции сжимает массив опций. Например, предположим, что myList имеет 5 элементов, значение четвёртого элемента - "foo", и Вы выполняете следующий оператор:

myList.options[1] = null

Теперь myList содержит 4 элемента, а значение третьего элемента - "foo".

После удаления опции Вы обязаны обновить документ, используя history.go(0). Этот оператор обязан быть последним. Когда документ перезагружается, значения переменных теряются, если они не сохранены в куках или в значениях элементов формы.

Вы можете определить, какая опция списка selection выбрана в данный момент, используя свойство selectedIndex массива options или сам объект Select. То есть, следующие выражения возвращают одинаковые значения:

musicStyle.selectedIndex
musicStyle.options.selectedIndex

Дополнительно об этом свойстве см. Select.selectedIndex.

Для объектов Select, допускающих возможность множественного выбора (то есть если тэг SELECT имеет атрибут MULTIPLE), свойство selectedIndex не очень подходит для использования. В этом случае оно возвращает индекс первого выбора. Чтобы найти все выбранные опции, Вы должны пройти циклом по опциям и проверить каждую опцию индивидуально. Например, чтобы напечатать список всех выбранных опций в selection-списке mySelect, Вы можете использовать такой код:

document.write("You've selected the following options:\n")
for (var i = 0; i < mySelect.options.length; i++) {
   if (mySelect.options[i].selected)
      document.write(" mySelect.options[i].text\n")
}

Вообще, при работе с отдельными опциями списка selection Вы работаете с соответствующим Option-объектом.

selectedIndex

Целое число, специфицирующее индекс выбранной опции в объекте Select.

Свойство из | Select
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство .

Описание

Опции в объекте Select индексируются в том порядке, в котором они определены, начиная с индекса 0. Вы можете установить свойство selectedIndex в любое время. Вид объекта Select обновляется сразу после установки свойства selectedIndex.

Если ни одна опция не выбрана, selectedIndex имеет значение -1.

Вообще свойство selectedIndex больше подходит для Select-объектов, которые создаются без атрибута MULTIPLE. Если Вы вычисляете selectedIndex, когда выбраны несколько опций, свойство selectedIndex специфицирует индекс только первой опции. Установка selectedIndex очищает любые другие выбранные опции в объекте Select.

Свойство Option.selected больше подходит для работы с теми объектами Select, которые создаются с атрибутом MULTIPLE. С помощью свойства Option.selected Вы можете вычислять каждую опцию массива options для определения множественного выбора, а также можете выбрать отдельные опции без очистки статуса выбора других опций.

Пример

Здесь функция getSelectedIndex возвращает индекс выбора в объекте musicType Select:

function getSelectedIndex() {
   return document.musicForm.musicType.selectedIndex
}

Предполагается, что Select-объект похож на следующий:

<SELECT NAME="musicType">
   <OPTION SELECTED> R&B
   <OPTION> Jazz
   <OPTION> Blues
   <OPTION> New Age
</SELECT>

См. также

Option.defaultSelected, Option.selected

type

Для всех Select-объектов, созданных с ключевым словом MULTIPLE, значение свойства type будет "select-multiple". Для Select-объектов, созданных без этого ключевого слова, значение свойства type будет "select-one". Это свойство специфицирует тип элемента формы.

Свойство из | Select
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Здесь записывается значение свойства type каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {
   document.writeln("<BR>type is " + document.form1.elements[i].type)
}


String

Объект, представляющий серию символов в строке.

Объект ядра
Реализован в | JavaScript 1.0: Объект String создаётся только символами в кавычках. JavaScript 1.1, NES 2.0: добавлен конструктор String; добавлено свойство prototype; добавлен метод split; добавлена возможность передавать строки между скриптами различных окон или фрэймов (в предыдущих версиях Вы должны были добавить пустую строку в строку другого окна, чтобы обратиться к ней). JavaScript 1.2, NES 3.0: добавлены методы concat, match, replace, search, slice и substr. JavaScript 1.3: добавлен метод toSource; изменены методы charCodeAt, fromCharCode и replace.
Версия ECMA | ECMA-262

Создание

Конструктор String:

new String(string)

Параметр

string

Любая строка.

Описание

Объект String это оболочка вокруг строки данных примитивных типов. Не путайте строковой литерал с объектом String. Например, следующий код создаёт строковой литерал s1 и String-объект s2:

s1 = "foo"            // создаётся строковое литеральное значение
s2 = new String("foo") // создаётся String-объект

Вы можете вызвать любой метод String-объекта в строковом литеральном значении -- JavaScript автоматически конвертирует строковой литерал во временный String-объект, вызывает метод, затем уничтожает временный String-объект. Можно также использовать свойство String.length со строковым литералом.

Вы должны использовать строковые литералы, если нет специальной необходимости использовать String-объект, поскольку String-объекты могут вести себя непредсказуемо. Например:

s1 = "2 + 2"            // создаёт строковое литеральное значение
s2 = new String("2 + 2") // создаёт String-объект
eval(s1)     // возвращает число 4
eval(s2)     // возвращает строку "2 + 2"

Строка может быть представлена как литерал, заключённый в одинарные или двойные кавычки; например, "Netscape" или 'Netscape'.

Вы можете конвертировать значение любого объекта в строку, используя функцию верхнего уровня String.

Свойства. Резюме

Свойство Описание
constructor

Специфицирует функцию, которая создаёт прототип объекта.

length

Отражает длину строки.

prototype

Позволяет добавлять свойства в String-объект.

Методы. Резюме.

Метод Описание
anchor

Создаёт HTML-якорь, используемый как цель гиперссылки.

big

Выводит строку шрифтом big/увеличенным, как в тэге BIG.

blink

Выводит строку шрифтом blink, как в тэге BLINK.

bold

Выводит строку жирным шрифтом, как в тэге B.

charAt

Возвращает символ по специфицированному индексу.

charCodeAt

Возвращает число, указывающее Unicode-значение символа по данному индексу.

concat

Объединяет текст двух строк и возвращает новую строку.

fixed

Выводит строку шрифтом фиксированной ширины, как в тэге TT.

fontcolor

Выводит строку специфицированным цветом, как в тэге <FONT COLOR=color>.

fontsize

Выводит строку шрифтом специфицированного размера, как в тэге <FONT SIZE=size>.

fromCharCode

Возвращает строку, созданную с использованием специфицированной последовательности Unicode-значений.

indexOf

Возвращает индекс, в вызывающем String-объекте, первого появления специфицированного значения или -1 - если оно не найдено.

italics

Выводит строку шрифтом italic, как в тэге I.

lastIndexOf

Возвращает индекс, в вызывающем String-объекте, последнего появления специфицированного значения или -1 - если оно не найдено.

link

Создаёт гиперссылку HTML, которая вызывает другой URL.

match

Используется для поиска совпадений регулярного выражения со строкой.

replace

Используется для поиска совпадений регулярного выражения со строкой и для замены совпавшей подстроки новой подстрокой.

search

Выполняет поиск совпадения между регулярным выражением и специфицированной строкой.

slice

Извлекает часть строки и возвращает новую строку.

small

Выводит строку шрифтом small/уменьшенным, как в тэге SMALL.

split

Разделяет String-объект на массив строк, разделяя строку на подстроки.

strike

Выводит строку перечёркнутым шрифтом, как в тэге STRIKE.

sub

Выводит строку как subscript/подиндекс, как в тэге SUB.

substr

Возвращает специфицированное количество символов строки, начинающихся от специфицированного места.

substring

Возвращает символы строки между двумя индексами строки.

sup

Выводит строку как superscript/надиндекс, как в тэге SUP.

toLowerCase

Возвращает вызывающую строку, конвертированную в нижний регистр.

toSource

Возвращает литерал объекта, представляющий специфицированный объект; можно использовать это значение для создания нового объекта. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую специфицированный объект. Переопределяет метод Object.toString.

toUpperCase

Возвращает вызывающую строку, конвертированную в верхний регистр.

valueOf

Возвращает примитивное значение специфицированного объекта. Переопределяет метод Object.valueOf.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1: Строковой литерал. Создаётся строковой литерал:

var last_name = "Schaefer"

Пример 2: Свойства строкового литерала. Следующие операторы вычисляются в 8, "SCHAEFER" и "schaefer":

last_name.length
last_name.toUpperCase()
last_name.toLowerCase()

Пример 3: Доступ к определённым символам строки. Вы можете представить строку как массив символов. Тогда можно получить доступ к отдельным символам строки по индексу этого массива.

var myString = "Hello"
myString[0] // возвращает "H"

Пример 4: Передача строки между скриптами в различных окнах и фрэймах. Следующий код создаёт две строковые переменные и открывает второе окно:

var lastName = "Schaefer"
var firstName = "Jesse"
empWindow=window.open('string2.html','window1','width=300,height=300')

Если код HTML второго окна (string2.html) создаёт две строковые переменные empLastName и empFirstName, следующий код в первом окне присваивает значения переменным второго окна:

empWindow.empFirstName=firstName
empWindow.empLastName=lastName

А этот код в первом окне выводит значения переменных второго окна:

alert('empFirstName in empWindow is ' + empWindow.empFirstName)
alert('empLastName in empWindow is ' + empWindow.empLastName)

anchor

Создаёт HTML-якорь, который используется как цель гипертекстовой ссылки/target.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

anchor(nameAttribute)

Параметр

nameAttribute

Строка.

Описание

Используйте метод anchor с методами document.write или document.writeln для программного создания и вывода якоря документа. Создайте якорь методом anchor, а затем вызовите write или writeln для отображения этого якоря в документе. В серверном JavaScript используйте для этого функцию write.

В этом синтаксисе строка nameAttribute представляет атрибут NAME тэга A, а строка, вызывающая этот метод, это текст, видимый пользователю.

Якоря, созданные методом anchor, становятся элементами массива document.anchors.

Пример

Открывается окно msgWindow и создаётся якорь для оглавления:

var myString="Table of Contents"
msgWindow.document.writeln(myString.anchor("contents_anchor"))

Предыдущий пример даст тот же результат, что и этот HTML:

<A NAME="contents_anchor">Table of Contents</A>

См. также

String.link

big

Выводит строку увеличенным шрифтом, как при использовании тэга BIG.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

big()

Параметры

Отсутствуют.

Описание

Используйте метод big вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Пример

Используются методы работы со строками для изменения размера текста строки:

var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))

Такой же вывод даст следующий HTML:

<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>

См. также

String.fontsize, String.small

blink

Выводит строку шрифтом blink, как при использовании тэга BLINK.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

blink()

Параметры

Отсутствуют.

Описание

Используйте метод blink вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Пример

Здесь используются методы работы со строками для изменения форматирования строки:

var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())

Предыдущий пример даст тот же вывод, что и следующий HTML:

<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>

См. также

String.bold, String.italics, String.strike

bold

Выводит строку шрифтом bold, как при использовании тэга B.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

bold()

Параметры

Отсутствуют.

Описание

Используйте метод bold вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Пример

Здесь используются методы работы со строками для изменения форматирования строки:

var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())

Предыдущий пример даст тот же вывод, что и следующий HTML:

<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>

См. также

String.blink, String.italics, String.strike

charAt

Возвращает специфицированный символ из строки.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

charAt(index)

Параметр

index

Целое число в диапазоне от 0 до числа, меньшего длины строки на 1.

Описание

Символы строки индексируются слева направо. Индекс первого символа строки равен 0, а последнего (для строки с именем stringName) stringName.length - 1. Если предоставляемый Вами index выходит за пределы указанного диапазона, JavaScript возвращает пустую строку.

Пример

Отображаются символы из различных мест строки "Brave new world":

var anyString="Brave new world"
document.writeln("The character at index 0 is " + anyString.charAt(0))
document.writeln("The character at index 1 is " + anyString.charAt(1))
document.writeln("The character at index 2 is " + anyString.charAt(2))
document.writeln("The character at index 3 is " + anyString.charAt(3))
document.writeln("The character at index 4 is " + anyString.charAt(4))

На выходе будет:

The character at index 0 is B
The character at index 1 is r
The character at index 2 is a
The character at index 3 is v
The character at index 4 is e

См. также

String.indexOf, String.lastIndexOf, String.split

charCodeAt

Возвращает число - Unicode-значение символа, находящегося в строке по данному индексу.

Метод из | String
Реализован в | JavaScript 1.2, NES 3.0 JavaScript 1.3: возвращает Unicode-значение, а не значение из набора символов ISO-Latin-1.
Версия ECMA | ECMA-262

Синтаксис

charCodeAt([index])

Параметр

index

Целое число в диапазоне от 0 до числа, меньшего длины строки на 1. По умолчанию имеет значение 0.

Описание

Unicode-значения в диапазоне от 0 до 65,535. Первые 128 Unicode-значений совпадают напрямую с набором символов ASCII. Об Unicode см. книгу Клиентский JavaScript. Руководство.

Обратная Совместимость

JavaScript 1.2. Метод charCodeAt возвращает число - значение из набора символов ISO-Latin-1 для символа по данному индексу в строке. Диапазон значений для набора ISO-Latin-1 - от 0 до 255. Первые числа от 0 до 127 напрямую соответствуют набору символов ASCII.

Пример

Пример 1. Этот пример возвращает 65, Unicode-значение латинской заглавной A.

"ABC".charCodeAt(0) // возвращает 65

Пример 2. Создаётся событие для симуляции нажатия клавиши. Событие KeyPress имеет свойство which, которое представляет ASCII-значение нажатой клавиши. Если Вам известна буква, число или символ, Вы можете использовать charCodeAt для предоставления ASCII-значения в свойство which.

//создаётся Еvent-объект с нужными значениями свойств
ev = new Event()
ev.type = KeyPress
ev.layerX = 150
//присваиваются значения  свойствам layerY, pageX, pageY, screenX и screenY
...
//присваивается ASCII-значение свойству which
ev.which = "v".charCodeAt(0)
//assign modifier property
ev.modifiers = <FONT COLOR="#FF0080">How do I do this?</FONT>

concat

Объединяет текст двух или более строк и возвращает новую строку.

Метод из | String
Реализован в | JavaScript 1.2, NES 3.0

Синтаксис

concat(string2, string3[, ..., stringN])

Параметры

string2...
stringN

Объединяемые строки.

Описание

concat объединяет текст строк и возвращает новую строку. Изменения в тексте одной строки не влияют на другую.

Пример

s1="Oh "
s2="what a beautiful "
s3="mornin'."
s4=s1.concat(s2,s3) //
возвращает "Oh what a beautiful mornin'."

constructor

Специфицирует функцию, которая создаёт прототип объекта. Заметьте, что значением этого свойства является ссылка на функцию, а не строка с именем функции.

Свойство из | String
Реализовано в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Описание

См. Object.constructor.

fixed

Выводит строку шрифтом фиксированной ширины, как при использовании тэга TT.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

fixed()

Параметры

Отсутствуют.

Описание

Используйте метод fixed вместе с методами write или writeln для форматирования и отображения строки документа. В серверном JavaScript используйте функцию write для отображения строки.

Пример

Метод fixed используется для изменения форматирования строки:

var worldString="Hello, world"
document.write(worldString.fixed())

Предыдущий пример даст тот же вывод, что и следующий HTML:

<TT>Hello, world</TT>

fontcolor

Отображает строку специфицированным цветом, как при использовании тэга <FONT COLOR=color>.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

fontcolor(color)

Параметр

color

Строка, выражающая цвет как 16-ричный RGB-триплет или как строковой литерал. Строковые литералы - названия цветов перечислены в книге Клиентский JavaScript. Руководство.

Описание

Используйте метод fontcolor вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Если color выражается как 16-ричный RGB-триплет, Вы обязаны использовать формат rrggbb. Например, 16-ричные RGB-значения для цвета salmon будут red=FA, green=80 и blue=72, то есть RGB-триплет для salmon будет "FA8072".

Метод fontcolor переопределяет значение, установленное в свойстве fgColor.

Пример

Метод fontcolor используется для изменения цвета строки:

var worldString="Hello, world"
document.write(worldString.fontcolor("maroon") +
   " is maroon in this line")
document.write("<P>" + worldString.fontcolor("salmon") +
   " is salmon in this line")
document.write("<P>" + worldString.fontcolor("red") +
   " is red in this line")
document.write("<P>" + worldString.fontcolor("8000") +
   " is maroon in hexadecimal in this line")
document.write("<P>" + worldString.fontcolor("FA8072") +
   " is salmon in hexadecimal in this line")
document.write("<P>" + worldString.fontcolor("FF00") +
   " is red in hexadecimal in this line")

Предыдущий пример даст тот же вывод, что и следующий HTML:

<FONT COLOR="maroon">Hello, world</FONT> is maroon in this line
<P><FONT COLOR="salmon">Hello, world</FONT> is salmon in this line
<P><FONT COLOR="red">Hello, world</FONT> is red in this line
<FONT COLOR="8000">Hello, world</FONT>
is maroon in hexadecimal in this line
<P><FONT COLOR="FA8072">Hello, world</FONT>
is salmon in hexadecimal in this line
<P><FONT COLOR="FF00">Hello, world</FONT>
is red in hexadecimal in this line

fontsize

Вызывает отображение строки шрифта специфицированного размера, как при использовании тэга <FONT SIZE=size>.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

fontsize(size)

Параметр

size

Целое число в диапазоне от 1 до 7; строка, представляющая целое число со знаком в диапазоне от 1 до 7.

Описание

Используйте метод fontsize вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Если size специфицируется как целое число, Вы устанавливаете размер для stringName в один из 7 определённых размеров. Если size специфицируется как строка, такая как "-2", Вы настраиваете размер шрифта строки stringName относительно размера, установленного в тэге BASEFONT.

Пример

Метод string изменяет размер шрифта строки:

var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))

Предыдущий пример даст тот же вывод, что и следующий HTML:

<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>

См. также

String.big, String.small

fromCharCode

Возвращает строку, созданную с использованием специфицированной последовательности Unicode-значений.

Метод из | String
Static
Реализован в | JavaScript 1.2, NES 3.0 JavaScript 1.3: использует Unicode-значение, а не значение ISO-Latin-1
Версия ECMA | ECMA-262

Синтаксис

fromCharCode(num1, ..., numN)

Параметр

num1, ..., numN

Последовательность чисел, которые являются Unicode-значениями.

Описание

Этот метод возвращает строку, а не String-объект.

Поскольку fromCharCode это static-метод объекта String, Вы всегда записываете его String.fromCharCode(), а не как метод созданного Вами String-объекта.

Обратная Совместимость

JavaScript 1.2. Метод fromCharCode возвращает строку, созданную с использованием специфицированной последовательности значений набора ISO-Latin-1.

Примеры

Пример 1. Этот пример возвращает строку "ABC".

String.fromCharCode(65,66,67)

Пример 2. Свойство which событий KeyDown, KeyPress и KeyUp содержит ASCII-значение клавиши клавиатуры, нажатой при возникновении события. Если Вы хотите получить фактическую букву, число или символ клавиши, Вы можете использовать fromCharCode. Следующий пример возвращает букву, число или символ в свойстве which события KeyPress.

String.fromCharCode(KeyPress.which)

indexOf

Возвращает индекс первого появления специфицированного значения в вызывающем String-объекте, начиная поиск с fromIndex, или возвращает -1, если значение не найдено.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

indexOf(searchValue[, fromIndex])

Параметры

searchValue

Строка, представляющая искомое значение.

fromIndex

Место в вызывающей строке, с которого начинать поиск. Это может быть целое число в диапазоне от 0 до длины строки. По умолчанию имеет значение 0.

Описание

Символы в строке индексируются слева направо. Индекс первого символа равен 0, а индекс последнего символа строки stringName равен stringName.length - 1.

"Blue Whale".indexOf("Blue")    // возвращает 0
"Blue Whale".indexOf("Blute")   // возвращает -1
"Blue Whale".indexOf("Whale",0) // возвращает 5
"Blue Whale".indexOf("Whale",5) // возвращает 5
"Blue Whale".indexOf("",9)      // возвращает 9
"Blue Whale".indexOf("",10)     // возвращает 10
"Blue Whale".indexOf("",11)     // возвращает 10

Метод indexOf учитывает регистр. Например, следующее выражение возвращает -1:

"Blue Whale".indexOf("blue")

Примеры

Пример 1. Методы indexOf и lastIndexOf используются для локализации значений в строке "Brave new world."

var anyString="Brave new world"
// Выводит 8
document.write("<P>The index of the first w from the beginning is " +
   anyString.indexOf("w"))
// Выводит 10
document.write("<P>The index of the first w from the end is " +
   anyString.lastIndexOf("w"))
// Выводит 6
document.write("<P>The index of 'new' from the beginning is " +
   anyString.indexOf("new"))
// Выводит 6
document.write("<P>The index of 'new' from the end is " +
   anyString.lastIndexOf("new"))

Пример 2. В этом примере определены две строковые переменные. Они содержат одинаковые строки, но вторая строка содержит символы в верхнем регистре. Первый метод writeln выводит 19. Поскольку метод indexOf учитывает регистр символов, строка "cheddar" не найдена в строке myCapString, поэтому второй метод writeln выведет -1.

myString="brie, pepper jack, cheddar"
myCapString="Brie, Pepper Jack, Cheddar"
document.writeln('myString.indexOf("cheddar") is ' +
   myString.indexOf("cheddar"))
document.writeln('<P>myCapString.indexOf("cheddar") is ' +
   myCapString.indexOf("cheddar"))

Пример 3. Здесь в count устанавливается количество вхождений буквы x в строке str:

count = 0;
pos = str.indexOf("x");
while ( pos != -1 ) {
   count++;
   pos = str.indexOf("x",pos+1);
}

См. также

String.charAt, String.lastIndexOf, String.split

italics

Выводит строку шрифтом italic, как при использовании тэга <I>.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

italics()

Параметры

Отсутствуют.

Описание

Используйте метод italics вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Пример

Здесь используются методы работы со строками для изменения форматирования строки:

var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())

Предыдущий пример даст тот же вывод, что и следующий HTML:

<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>

См. также

String.blink, String.bold, String.strike

lastIndexOf

Возвращает индекс последнего появления специфицированного значения в вызывающем String-объекте или -1, если ничего не найдено. Поиск в вызывающей строке идёт в обратном направлении, справа налево, начиная с fromIndex.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

lastIndexOf(searchValue[, fromIndex])

Параметры

searchValue

Строка, представляющая искомое значение.

fromIndex

Место в вызывающей строке, с которого начинать поиск. Это может быть целое число в диапазоне от 0 до длины строки. Значение по умолчанию - длина строки.

Описание

Символы в строке индексируются слева направо. Индекс первого символа равен 0, а индекс последнего символа равен stringName.length - 1.

"canal".lastIndexOf("a")   // возвращает 3
"canal".lastIndexOf("a",2) // возвращает 1
"canal".lastIndexOf("a",0) // возвращает -1
"canal".lastIndexOf("x")   // возвращает -1

Метод lastIndexOf учитывает регистр символов. Например, следующее выражение возвратит -1:

"Blue Whale, Killer Whale".lastIndexOf("blue")

Пример

Здесь методы indexOf и lastIndexOf используются для локализации значений в строке "Brave new world."

var anyString="Brave new world"
// Выводит 8
document.write("<P>The index of the first w from the beginning is " +
   anyString.indexOf("w"))
// Выводит 10
document.write("<P>The index of the first w from the end is " +
   anyString.lastIndexOf("w"))
// Выводит 6
document.write("<P>The index of 'new' from the beginning is " +
   anyString.indexOf("new"))
// Выводит 6
document.write("<P>The index of 'new' from the end is " +
   anyString.lastIndexOf("new"))

См. также

String.charAt, String.indexOf, String.split

length

Длина строки.

Свойство из | String
Только для чтения
Реализовано в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Описание

Для null-строки длина будет равна 0.

Пример

Будет выведена цифра 8 в диалоговом окне Alert:

var x="Netscape"
alert("The string length is " + x.length)

link

Создаёт гипертекстовую HTML-ссылку, которая запрашивает другой URL.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

link(hrefAttribute)

Параметр

hrefAttribute

Любая строка, специфицирующая атрибут HREF тэга A; это должен быть правильный URL (относительный или абсолютный).

Описание

Используйте метод link для программного создания гиперссылки и последующего вызова write или writeln для отображения ссылки в документе. В серверном JavaScript используйте функцию write для отображения ссылки.

Ссылки, созданные методом link, становятся элементами массива links объекта document. См. document.links.

Пример

Слово "Netscape" выводится как гиперссылка, которая переводит пользователя на домашнюю страницу Netscape:

var hotText="Netscape"
var URL="http://home.netscape.com"
document.write("Click to return to " + hotText.link(URL))

Предыдущий пример даст тот же вывод, что и следующий HTML:

Click to return to <A HREF="http://home.netscape.com">Netscape</A>

См. также

Anchor

match

Используется для поиска совпадений регулярного выражения со строкой.

Метод из | String
Реализован в | JavaScript 1.2

Синтаксис

match(regexp)

Параметр

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.

Описание

Если Вам нужно выполнить глобальный поиск совпадения или поиск с учётом регистра, включите в регулярное выражение флаги g (для глобального поиска) и i (для игнорирования регистра). Эти флаги могут использоваться вместе или по отдельности. Следующие два пример показывают, как использовать эти флаги вместе с match.

ПРИМЕЧАНИЕ: Если Вы выполняете поиск только для того, чтобы найти true или false, используйте String.search или метод test регулярного выражения.

Примеры

Пример 1. Здесь match используется для поиска подстроки 'Chapter' с последующим одним или более цифровыми символами, с последующей десятичной точкой и цифровыми символами 0 или более раз. Регулярно выражение включает флаг i, поэтому регистр символов игнорируется.

<SCRIPT>
str = "For more information, see Chapter 3.4.5.1";
re = /(chapter \d+(\.\d)*)/i;
found = str.match(re);
document.write(found);
</SCRIPT>

Возвращает массив, содержащий Chapter 3.4.5.1,Chapter 3.4.5.1,.1

'Chapter 3.4.5.1' это первое совпадение и первое значение, запомненное из (Chapter \d+(\.\d)*).

'.1' это второе значение, запомненное из (\.\d).

Пример 2. Здесь демонстрируется использование флагов global и ignore case вместе с match.

<SCRIPT>
str = "abcDdcba";
newArray = str.match(/d/gi);
document.write(newArray);
</SCRIPT>

Возвращаемые массив содержит D, d.

prototype

Прототип для данного класса. Этот прототип можно использовать для добавления свойств и методов всем экземплярам класса. О прототипах см. Function.prototype.

Свойство из | String
Реализовано в | JavaScript 1.1, NES 3.0
Версия ECMA | ECMA-262

replace

Находит совпадение регулярного выражения и строки и замещает совпавшую подстроку новой подстрокой.

Метод из | String
Реализован в | JavaScript 1.2 JavaScript 1.3: поддерживается вложение функций на месте второго аргумента.

Синтаксис

replace(regexp, newSubStr)
replace(regexp, function)
Версии до JavaScript 1.3:
replace(regexp, newSubStr)

Параметры

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.

newSubStr

Строка, помещаемая вместо строки, найденной с помощью regexp. Эта подстрока может содержать свойства объекта RegExp: $1, ..., $9, lastMatch, lastParen, leftContext и rightContext.

function

Функция, выполняемая после выполнения поиска совпадения.

Описание

Этот метод не изменяет String-объект, которым он вызывается; он просто возвращает новую строку.

Если Вы хотите выполнить глобальный поиск и замену или поиск без учёта регистра, включите флаги g (для глобального поиска) и i (игнорирование регистра) в регулярное выражение. Они могут быть включены вместе и отдельно. Следующие два примера показывают использование этих флагов вместе с replace.

Специфицирование функции в качестве параметра. Если Вы специфицируете функцию в качестве второго параметра, она вызывается после выполнения поиска совпадения. (Такое использование функции часто называется "лямбда-выражение".)

В Вашей функции Вы можете динамически генерировать строку, которая замещает совпавшую подстроку. Результат вызова функции используется в качестве замещающего значения.

Вложенная функция может использовать совпавшие подстроки для определения новой строки (newSubStr), которая замещает найденную подстроку. Вы получаете совпавшие подстроки через параметры Вашей функции. Первый параметр Вашей функции содержит полностью совпавшую подстроку. Другие параметры могут использоваться для совпадений в скобках, для запоминания подсовпадений строк. Например, следующий метод replaceвозвращает XX.zzzz - XX , zzzz.

"XXzzzz".replace(/(X*)(z*)/,
                   function (str, p1, p2) {
                      return str + " - " + p1 + " , " + p2;
                   }
                )

Массив, возвращённый из метода exec RegExp-объекта и последующего совпадения доступен для Вашей функции. Вы можете использовать содержимое массива плюс свойства input и index (индекс совпадения в строке ввода) этого массива для выполнения дополнительных задач, перед тем как метод заменит подстроку.

Примеры

Пример 1. Здесь регулярное выражение содержит флаги global и ignore case с разрешением методу replace замещать каждое вхождение 'apples' на 'oranges'.

<SCRIPT>
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
newstr=str.replace(re, "oranges");
document.write(newstr)
</SCRIPT>

Будет напечатано "oranges are round, and oranges are juicy."

Пример 2. В этом примере регулярное выражение определено в методе replace и содержит флаг игнорирования регистра.

<SCRIPT>
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
</SCRIPT>

Будет напечатано "Twas the night before Christmas..."

Пример 3. Этот скрипт переключает слова в строке. Для замещающего текста используются значения свойств $1 и $2.

<SCRIPT LANGUAGE="JavaScript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>

Будет напечатано "Smith, John".

Пример 4. Здесь градусы по Фаренгейту замещаются эквивалентом по Цельсию. Градусы по Фаренгейту должны быть числом с конечной F. Функция возвращает число по Цельсию с конечной С. Например, если введено 212F, функция возвращает 100C. Если введено 0F, функция возвращает -17.77777777777778C.

Регулярное выражение test проверяет числа с конечной буквой F. Число по Фаренгейту доступно для Вашей функции через параметр $1. Функция устанавливает число по Цельсию на основе значения по Фаренгейту, передаваемого в строке функции f2c. Затем f2c возвращает число по Цельсию. Эта функция напоминает флаг s///e из Perl.

function f2c(x) {
   var s = String(x)
   var test = /(\d+(\.\d*)?)F\b/g
   return s.replace
      (test,
         myfunction ($0,$1,$2) {
            return (($1-32) * 5/9) + "C";
         }
      )
}

search

Выполняет поиск совпадения между регулярным выражением и данным String-объектом.

Метод из | String
Реализован в | JavaScript 1.2

Синтаксис

search(regexp)

Параметр

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.

Описание

При успешном выполнении, search возвращает индекс регулярного выражения в строке. Иначе возвращает -1.

Если Вы хотите знать, найден ли патэрн в строке, используйте search (аналогично методу test регулярного выражения); для получения большей информации (и более медленного выполнения) используйте match (аналогичный методу exec регулярного выражения).

Пример

Печатается сообщение, содержание которого зависит от успешности прохождения теста.

function testinput(re, str){
   if (str.search(re) != -1)
      midstring = " contains ";
   else
      midstring = " does not contain ";
   document.write (str + midstring + re.source);
}

slice

Извлекает часть строки и возвращает новую строку.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

slice(beginslice[, endSlice])

Параметры

beginSlice

Индекс с базой 0, с которого начинается извлечение.

endSlice

Индекс с базой 0, с которого заканчивается извлечение. При его отсутствии метод slice извлекает до конца строки.

Описание

slice извлекает текст из первой строки и возвращает новую строку. Изменения в одной строке не влияют на другую строку.

slice извлекает до endSlice не включительно.
string.slice(1,4) извлекает символы со второго по четвёртый (символы с индексами 1, 2 и 3).

Как отрицательный индекс endSlice указывает смещение от конца строки, не входящее в результат.
string.slice(2,-1) извлекает символы с третьего до конца строки.

Пример

Здесь slice используется для создания новой строки.

<SCRIPT>
str1="The morning is upon us. "
str2=str1.slice(3,-5)
document.write(str2)
</SCRIPT>

Будет напечатано:

morning is upon

small

Вызывает отображение строки шрифтом small, как при использовании тэга <SMALL>.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

small()

Параметры

Отсутствуют.

Описание

Используйте метод small вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Пример

Используются string-методы для изменения размера строки:

var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))

Предыдущий пример даст тот же вывод, что и следующий HTML:

<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>

См. также

String.big, String.fontsize

split

Разделяет String-объект на массив строк, разделяя строку на подстроки.

Метод из | String
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

split([separator][, limit])

Параметры

separator

Специфицирует символ - разделитель строк. separator рассматривается как строка. Если separator отсутствует, возвращённый массив состоит из одного элемента - полной строки.

limit

Целое число, специфицирующее ограничение на количество находимых разделений.

Описание

Метод split возвращает новый массив.

Если найден, separator удаляется из подстрок, возвращённых в массиве. Если separator опущен, массив содержит один элемент - всю строку целиком.

В JavaScript 1.2 split имеет следующие дополнения:

  • Он может принимать в качестве аргумента регулярное выражение, а также фиксированную строку, которой разделяется строка-объект. Если separator это регулярное выражение, любые включённые скобки вызывают включение подсовпадений в возвращаемый массив.
  • Он может принимать limit-счётчик, поэтому результирующий массив не включает ведомые пустые элементы.
  • Если LANGUAGE="JavaScript1.2" специфицирован в тэге SCRIPT, string.split(" ") делит при любом появлении 1 или более пробельных символов, включая space/пробел, tab\табуляцию, line feed/прогон строки и возврат каретки. Для этого LANGUAGE="JavaScript1.2" обязан быть специфицирован в тэге <SCRIPT>.

Примеры

Пример 1. определена функция, которая разделяет строку на массив строк с использованием специфицированного сепаратора. После разделения строки, функция выводит сообщения, указывающие строку-оригинал (до разделения), используемый сепаратор, количество элементов массива и отдельные элементы массива.

function splitString (stringToSplit,separator) {
   arrayOfStrings = stringToSplit.split(separator)
   document.write ('<P>The original string is: "' + stringToSplit + '"')
   document.write ('<BR>The separator is: "' + separator + '"')
   document.write ("<BR>The array has " + arrayOfStrings.length + " elements: ")
   for (var i=0; i < arrayOfStrings.length; i++) {
      document.write (arrayOfStrings[i] + " / ")
   }
}
var tempestString="Oh brave new world that has such people in it."
var monthString="Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
var space=" "
var comma=","
splitString(tempestString,space)
splitString(tempestString)
splitString(monthString,comma)

Этот пример даст на выходе:

The original string is: "Oh brave new world that has such people in it."
The separator is: " "
The array has 10 elements: Oh / brave / new / world / that / has / such / people / in / it. /
The original string is: "Oh brave new world that has such people in it."
The separator is: "undefined"
The array has 1 elements: Oh brave new world that has such people in it. /
The original string is: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
The separator is: ","
The array has 12 elements: Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec /

Пример 2. Рассмотрим следующий скрипт:

<SCRIPT LANGUAGE="JavaScript1.2">
str="She sells    seashells \nby   the\n seashore"
document.write(str + "<BR>")
a=str.split(" ")
document.write(a)
</SCRIPT>

С использованием LANGUAGE="JavaScript1.2" это скрипт даст:

"She", "sells", "seashells", "by", "the", "seashore"

Без LANGUAGE="JavaScript1.2" этот скрипт разделит только по одиночным пробельным символам:

"She", "sells", , , , "seashells", "by", , , "the", "seashore"

Пример 3. В этом примере split ищет 0 или более пробелов, с последующим символом ; и с последующими 0 или более пробелов и, если это найдено, удаляет пробелы из строки.
nameList это массив, возвращаемый как результат работы split.

<SCRIPT>
names = "Harry  Trump  ;Fred Barney; Helen   Rigby ;  Bill Abel ;Chris Hand ";
document.write (names + "<BR>" + "<BR>");
re = /\s*;\s*/;
nameList = names.split (re);
document.write(nameList);
</SCRIPT>

Будут напечатаны две строки; первая - строка-оригинал, вторая - результирующий массив.

Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand

Пример 4. Здесь split ищет 0 или более пробелов в строке и возвращает первые три найденные разделения .

<SCRIPT LANGUAGE="JavaScript1.2">
myVar = "  Hello World. How are you doing?    ";
splits = myVar.split(" ", 3);
document.write(splits)
</SCRIPT>

Скрипт выведет:

["Hello", "World.", "How"]

См. также

String.charAt, String.indexOf, String.lastIndexOf

strike

Вызывает отображение строки перечёркнутым/struck-out текстом, как при использовании тэга <STRIKE>.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

strike()

Параметры

Отсутствуют.

Описание

Используйте метод strike вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для отображения строки.

Пример

Здесь используются методы работы со строками для изменения форматирования строки:

var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())

Предыдущий пример даст тот же вывод, что и следующий HTML:

<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>

См. также

String.blink, String.bold, String.italics

sub

Вызывает отображение строки как subscript/подиндекс, как при использовании тэга <SUB>.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

sub()

Параметры

Отсутствуют.

Описание

Используйте метод sub вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для генерации HTML.

Пример

Методы sub и sup используются для форматирования строки:

var superText="superscript"
var subText="subscript"
document.write("This is what a " + superText.sup() + " looks like.")
document.write("<P>This is what a " + subText.sub() + " looks like.")

Предыдущий пример даст тот же вывод, что и следующий HTML:

This is what a <SUP>superscript</SUP> looks like.
<P>This is what a <SUB>subscript</SUB> looks like.

См. также

String.sup

substr

Возвращает специфицированное количество символов строки, начиная со специфицированного места.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

substr(start[, length])

Параметры

start

Место, начиная с которого извлекаются символы.

length

Количество извлекаемых символов

Описание

start это индекс символа. Индекс первого символа равен 0, а индекс последнего символа меньше на 1, чем длина строки. substr начинает извлечение символов от start и извлекает length-количество символов.

Если start - положительное число, равное длине строки или более, substr не возвращает символов.

Если start - отрицательное число, substr использует его как индекс символа. начиная от конца строки.
Если start - отрицательное число и abs(start) больше длины строки, substr использует 0 как start-индекс.

Если length равна 0 или отрицательная, substr не возвращает символов.
Если значение length опущено, start извлекает символы до конца строки.

Пример

Рассмотрим такой скрипт:

<SCRIPT LANGUAGE="JavaScript1.2">
str = "abcdefghij"
document.writeln("(1,2): ", str.substr(1,2))
document.writeln("(-2,2): ", str.substr(-2,2))
document.writeln("(1): ", str.substr(1))
document.writeln("(-20, 2): ", str.substr(1,20))
document.writeln("(20, 2): ", str.substr(20,2))
</SCRIPT>

Этот скрипт выведет:

(1,2): bc
(-2,2): ij
(1): bcdefghij
(-20, 2): bcdefghij
(20, 2):

См. также

substring

substring

Возвращает поднабор String-объекта.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

substring(indexA, indexB)

Параметры

indexA

Целое число в диапазоне от 0 до числа, меньшего длины строки на 1.

indexB

Целое число в диапазоне от 0 до числа, меньшего длины строки на 1.

Описание

substring извлекает символы от indexA до indexB не включительно. Точнее:

  • Если indexA меньше 0, indexA рассматривается так, как если бы он был 0.
  • Если indexB больше stringName.length, indexB рассматривается так, как если бы это было stringName.length.
  • Если indexA равен indexB, substring возвращает пустую строку.
  • Если indexB опущен, indexA извлекает символы до конца строки.

В JavaScript 1.2, используя LANGUAGE="JavaScript1.2" в тэге SCRIPT:

  • Если indexA больше indexB, JavaScript выдаёт ошибку времени выполнения (out of memory).

В JavaScript 1.2 без LANGUAGE="JavaScript1.2" в тэге SCRIPT:

  • Если indexA больше indexB, JavaScript возвращает подстроку, начинающуюся с indexB и заканчивающуюся на indexA - 1.

Примеры

Пример 1. Здесь substring используется для отображения символов их строки "Netscape":

var anyString="Netscape"
// Выводит "Net"
document.write(anyString.substring(0,3))
document.write(anyString.substring(3,0))
// Выводит "cap"
document.write(anyString.substring(4,7))
document.write(anyString.substring(7,4))
// Выводит "Netscap"
document.write(anyString.substring(0,7))
// Выводит "Netscape"
document.write(anyString.substring(0,8))
document.write(anyString.substring(0,10))

Пример 2. Заменяется подстрока в строке. Заменяются отдельные символы и подстроки. Вызов функции в конце примера изменяет строку "Brave New World" на "Brave New Web".

function replaceString(oldS,newS,fullS) {
// заменяет oldS на newS в строке fullS
   for (var i=0; i<fullS.length; i++) {
      if (fullS.substring(i,i+oldS.length) == oldS) {
         fullS = fullS.substring(0,i)+newS+fullS.substring(i+oldS.length,fullS.length)
      }
   }
   return fullS
}
replaceString("World","Web","Brave New World")

Пример 3. В JavaScript 1.2, используя LANGUAGE="JavaScript1.2", следующий скрипт выдаёт ошибку времени выполнения (out of memory).

<SCRIPT LANGUAGE="JavaScript1.2">
str="Netscape"
document.write(str.substring(0,3);
document.write(str.substring(3,0);
</SCRIPT>

Без LANGUAGE="JavaScript1.2" вышеприведённый скрипт напечатает следующее:

Net Net

Во втором write числа-индексы меняются местами.

См. также

substr

sup

Вызывает отображение строки superscript/надиндекс, как при использовании тэга <SUP>.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0

Синтаксис

sup()

Параметры

Отсутствуют.

Описание

Используйте метод sup вместе с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте функцию write для генерации HTML.

Пример

Методы sub и sup использованы для форматирования строки:

var superText="superscript"
var subText="subscript"
document.write("This is what a " + superText.sup() + " looks like.")
document.write("<P>This is what a " + subText.sub() + " looks like.")

Предыдущий пример даст тот же вывод, что и следующий HTML:

This is what a <SUP>superscript</SUP> looks like.
<P>This is what a <SUB>subscript</SUB> looks like.

См. также

String.sub

toLowerCase

Возвращает вызвавшее строковое значение, конвертированное в нижний регистр.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toLowerCase()

Параметры

Отсутствуют.

Описание

Метод toLowerCase возвращает значение строки, конвертированное в нижний регистр. toLowerCase не влияет на само значение строки.

Пример

Выводится строка "alphabet":

var upperText="ALPHABET"
document.write(upperText.toLowerCase())

См. также

String.toUpperCase

toSource

Возвращает строку, представляющую исходный код объекта.

Метод из | String
Реализован в | JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта String - метод toSource возвращает следующую строку, указывающую, что исходный код недоступен:
       function String() {
          [native code]
       }
  • Для экземпляров объекта String или строковых литералов - метод toSource возвращает строку, представляющую исходный код.

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.

toString

Возвращает строку, представляющую специфицированный объект.

Метод из | String
Реализован в | JavaScript 1.1, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toString()

Параметры

Отсутствуют.

Описание

Объект String переопределяет метод toString объекта Object; он не наследует Object.toString. Для String-объектов метод toString возвращает строку, представляющую объект.

Пример

Отображается строковое значение String-объекта:

x = new String("Hello world");
alert(x.toString())      // Выводит "Hello world"

См. также

Object.toString

toUpperCase

Возвращает вызвавшее строковое значение, конвертированное в верхний регистр.

Метод из | String
Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

toUpperCase()

Параметры

Отсутствуют.

Описание

Метод toUpperCase возвращает значение строки, конвертированное в верхний регистр. toUpperCase не влияет на значение самой строки.

Пример

Выводится строка "ALPHABET":

var lowerText="alphabet"
document.write(lowerText.toUpperCase())

См. также

String.toLowerCase

valueOf

Возвращает примитивное значение String-объекта.

Метод из | String
Реализован в | JavaScript 1.1
Версия ECMA | ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

Метод valueOf объекта String возвращает примитивное значение String-объекта как тип данных string. Это значение эквивалентно String.toString.

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.

Пример

x = new String("Hello world");
alert(x.valueOf())          // Выводит "Hello world"

См. также

hString.toString, Object.valueOf
§ ← → У


Style

Объект, специфицирующий стиль HTML-элементов.

Клиентский объект |
Реализован в | JavaScript 1.2

Создание

Любым из следующих свойств объекта document:

  • document.classes
  • document.contextual
  • document.ids
  • document.tags

Описание

Объект Style даёт возможность динамически реализовать таблицы стилей HTML в JavaScript. Методы и свойства объекта Style реализуют свойства каскадных таблиц стилей HTML в JavaScript.

Полное описание таблиц стилей см. в книге Dynamic HTML in Netscape Communicator.

Свойства. Резюме.

Свойство Описание
align

Специфицирует выравнивание HTML-элемента относительно родительского элемента.

backgroundColor

Специфицирует сплошной цвет фона элемента.

backgroundImage

Специфицирует фоновый рисунок для HTML-элемента.

borderBottomWidth

Специфицирует ширину нижней линии рамки HTML-элемента.

borderColor

Специфицирует цвет рамки HTML-элемента.

borderLeftWidth

Специфицирует ширину левой линии рамки HTML-элемента.

borderRightWidth

Специфицирует ширину правой линии рамки HTML-элемента.

borderStyle

Специфицирует стиль рамки, такой как solid или double, вокруг HTML-элемента уровня блока.

borderTopWidth

Специфицирует ширину верхней линии рамки HTML-элемента.

clear

Специфицирует стороны HTML-элемента, которые разрешают всплывание/floating элементов.

color

Специфицирует цвет текста HTML-элемента.

display

Переопределяет обычное отображение элемента и специфицирует, отображается ли он in- line, как элемент уровня блока или как элемента списка уровня блока.

fontFamily

Специфицирует семейство шрифтов, такое как Helvetica или Arial, для текстового элемента HTML.

fontSize

Специфицирует размер шрифта для HTML-элемента.

fontStyle

Специфицирует стиль шрифта для HTML-элемента.

fontWeight

Специфицирует вес шрифта для HTML-элемента.

lineHeight

Специфицирует расстояние между базовыми линиями двух смежных строк шрифта уровня блока.

listStyleType

Специфицирует стиль символа, отображаемого в начале элемента списка.

marginBottom

Специфицирует минимальное расстояние между низом HTML-элемента и верхом прилегающего элемента.

marginLeft

Специфицирует минимальное расстояние между левым краем HTML-элемента и правым краем прилегающего элемента.

marginRight

Специфицирует минимальное расстояние между правым краем HTML-элемента и левым краем прилегающего элемента.

marginTop

Специфицирует минимальное расстояние между верхом HTML-элемента и низом прилегающего элемента.

paddingBottom

Специфицирует, какое пространство вставить между низом элемента и его содержимым, таким как текст или рисунок.

paddingLeft

Специфицирует, какое пространство вставить между левым краем элемента и его содержимым, таким как текст или рисунок.

paddingRight

Специфицирует, какое пространство вставить между правым краем элемента и его содержимым, таким как текст или рисунок.

paddingTop

Специфицирует, какое пространство вставить между верхом элемента и его содержимым, таким как текст или рисунок.

textAlign

Специфицирует выравнивание текстового HTML-элемента уровня блока.

textDecoration

Специфицирует специальные эффекты, такие как мигание, перечёркивание и подчёркивание, добавляемые к текстовому HTML-элементу.

textIndent

Специфицирует размер отступа перед первой отформатированной строкой текстового HTML-элемента уровня блока.

textTransform

Специфицирует регистр текстового HTML-элемента уровня блока.

whiteSpace

Специфицирует, должен ли сжиматься пробел внутри HTML-элемента.

width

Специфицирует ширину HTML-элемента уровня блока.

Методы. Резюме.

Метод Описание
borderWidths

Специфицирует ширину рамки HTML-элемента.

margins
Специфицирует минимальное расстояние между краями HTML-элемента и краями смежных элементов.
paddings

Специфицирует, какое пространство вставить между краями элемента и его содержимым, таким как текст или рисунок.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

align

Специфицирует выравнивание HTML-элемента внутри своего родителя.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.align = {left | right | none}

Параметр

styleObject

Объект Style.

Не путайте align с textAlign, который специфицирует выравнивание содержимого текстовых элементов.

Свойство align является отражением свойства float каскадных таблиц стилей.

backgroundColor

Специфицирует сплошной цвет фона элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.backgroundColor = colorValue

Параметры

styleObject

Style-объект.

colorValue

Строка, вычисляемая в значение цвета, как описано в Приложении B, "Значения Цвета".

Свойство backgroundColor является отражением свойства background-color каскадных таблиц стилей.

backgroundImage

Специфицирует фоновый рисунок HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.backgroundImage = url

Параметры

styleObject

Style-объект.

url

Строка, вычисляемая в полный или частичный URL относительно источника таблицы стилей.

Свойство backgroundImage является отражением свойства background-image каскадных таблиц стилей.

borderBottomWidth

Специфицирует ширину линии нижнего края рамки HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.borderBottomWidth = length

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

Свойство borderBottomWidth является отражением свойства border-bottom-width каскадных таблиц стилей.

См. также

Style.borderLeftWidth, Style.borderRightWidth, Style.borderTopWidth, Style.borderWidths

borderColor

Специфицирует цвет рамки HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.borderColor = {none | colorValue}

Параметры

styleObject

Style-объект.

colorValue

Строка, вычисляемая в значение цвет, как описано в Приложении B, "Значения Цвета".

Свойство borderColor является отражением свойства border-color каскадных таблиц стилей.

borderLeftWidth

Специфицирует ширину линии левого края рамки HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.borderLeftWidth = length

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

Свойство borderLeftWidth является отражением свойства border-left-width каскадных таблиц стилей.

См. также

Style.borderBottomWidth, Style.borderRightWidth, Style.borderTopWidth, Style.borderWidths

borderRightWidth

Специфицирует ширину линии правого края рамки HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.borderRightWidth = length

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

Свойство borderRightWidth является отражением свойства border-right-width каскадных таблиц стилей.

См. также

Style.borderBottomWidth, Style.borderLeftWidth, Style.borderTopWidth, Style.borderWidths

borderStyle

Специфицирует стиль рамки, такой как solid или double, вокруг HTML-элемента уровня блока.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.borderStyle = styleType

Параметры

styleObject

Style-объект.

styleType

Строка, вычисляемая в любое из следующих ключевых слов:

  • none
  • solid
  • doubl
  • inset
  • outset
  • groove
  • ridge

Вы также обязаны специфицировать ширину рамки.

Свойство borderStyle является отражением свойства border-style каскадных таблиц стилей.

borderTopWidth

Специфицирует ширину линии верхнего края рамки HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.borderTopWidth = length

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

Свойство borderTopWidth является отражением свойства border-top-width каскадных таблиц стилей.

См. также

Style.borderBottomWidth, Style.borderLeftWidth, Style.borderRightWidth, Style.borderWidths

borderWidths

Специфицирует ширину линии рамки HTML-элемента.

Метод из | Style
Реализован в | JavaScript 1.2

Синтаксис

borderWidths(top, right, bottom, left)

Параметры

top

Строка, специфицирующая значение свойства Style.borderTopWidth.

right

Строка, специфицирующая значение свойства Style.borderRightWidth.

bottom

Строка, специфицирующая значение свойства Style.borderBottomWidth.

left

Строка, специфицирующая значение свойства Style.borderLeftWidth.

Описание

Метод borderWidths является удобной аббревиатурой для установки свойств ширины всех линий рамки одновременно.

См. также

Style.borderBottomWidth, Style.borderLeftWidth, Style.borderRightWidth, Style.borderTopWidth

clear

Специфицирует стороны HTML-элемента, которые разрешают всплывание элементов.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.clear = {left | right | both | none}

Параметр

styleObject

A Style object.

Свойство clear является отражением свойства clear каскадных таблиц стилей.

color

Специфицирует цвет текста HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.color = colorValue

Параметры

styleObject

Style-объект.

colorValue

Строка, вычисляемая в значение цвета, как описано в Приложении B, "Значения Цвета".

Свойство color является отражением свойства color каскадных таблиц стилей.

display

Переопределяет обычное отображение элемента и специфицирует, отображается ли он in- line, как элемент уровня блока или как элемента списка уровня блока.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.display = styleType

Параметры

styleObject

Style-объект.

styleType

Строка, вычисляемая в любое из следующих ключевых слов:

  • none
  • block
  • inline
  • list-item

Свойство display является отражением свойства display каскадных таблиц стилей.

fontFamily

Специфицирует семейство шрифтов, такое как Helvetica или Arial, для текстового HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.fontFamily = {specificFamily | genericFamily}

Параметры

styleObject

Style-объект.

specificFamily

Строка, вычисляемая в список разделённых запятыми названий семейств шрифтов, таких как Helvetica или Arial.

genericFamily

Строка, вычисляемая в любое из следующих ключевых слов:

  • serif
  • sans-serif
  • cursive
  • monospace
  • fantasy

Свойство fontFamily является отражением свойства font-family каскадных таблиц стилей. Ключевые слова genericFamily доступны на всех платформах, но специфический отображаемый шрифт зависит от конкретной платформы.

Вы можете смешивать ключевые слова specificFamily и genericFamily в одном значении. Например, следующий код выводит текст шрифтом Helvetica, если этот шрифт доступен; иначе текст отображается шрифтом sans-serif, определяемым операционной системой:

document.tags.H1.fontFamily = "Helvetica, sans-serif"

Вы можете также сделать ссылку на файл определения шрифта и загрузить его, когда браузер загружает web-страницу, гарантируя, что все шрифты будут доступны в пользовательской операционной системе. См. Dynamic HTML in Netscape Communicator.

fontSize

Специфицирует размер шрифта текстового HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.fontSize =
   {absoluteSize | relativeSize | length | percentage}

Параметры

styleObject

Style-объект.

absoluteSize

Строка, вычисляемая в любое из следующих ключевых слов:

  • xx-small
  • x-small
  • small
  • medium
  • large
  • x-large
  • xx-large
relativeSize

Строка, вычисляемая в размер относительно размера родительского элемента, указанный одним из следующих ключевых слов:

  • smaller
  • larger
length

Строка, вычисляемая в размер с последующими единицами измерения; например, 18pt.

percentage

Строка, вычисляемая в процентах от размера родительского элемента; например, 50%.

Свойство fontSize является отражением свойства font-size каскадных таблиц стилей. По умолчанию имеет значение medium.

fontStyle

Специфицирует стиль шрифта HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.fontStyle = styleType

Параметры

styleObject

Style-объект.

styleType

Строка, вычисляемая в одно из следующих ключевых слов:

  • normal
  • italic

Свойство fontStyle является отражением свойства font-style каскадных таблиц стилей.

fontWeight

Специфицирует вес шрифта HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.fontWeight = {absolute | relative | numeric}

Параметры

styleObject

Style-объект.

absolute

Строка, вычисляемая в одно из следующих ключевых слов:

  • normal
  • bold
relative

Строка, вычисляемая в вес относительно веса родительского элемента, указанный одним из следующих ключевых слов:

  • bolder
  • lighter
numeric

Строка, вычисляемая в числовое значение от 100 до 900, где 100 обозначает наименьший, а 900 - наибольший вес.

Свойство fontWeight является отражением свойства font-weight каскадных таблиц стилей.

lineHeight

Специфицирует расстояние между базовыми линиями двух смежных строк шрифта уровня блока.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.lineHeight = {number | length | percentage | normal}

Параметры

styleObject

Style-объект.

number

Строка, вычисляемая в размер без единиц измерения; например, 1.2.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

normal

Нормаль строки, указывающая, что высота строки определяется автоматически Navigator'ом.

Свойство lineHeight является отражением свойства line-height каскадных таблиц стилей.

Если Вы устанавливаете свойство lineHeight, специфицируя number, Navigator рассчитывает высоту строки путём умножения размера шрифта текущего элемента на number. Например, если lineHeight равно 1.2 в параграфе, использующем шрифт в 10-пунктов, высота строки будет 12 пунктов.

Если Вы устанавливаете lineHeight с number, потомки текущего параграфа наследуют фактор высоты строки; если Вы устанавливаете lineHeight с length или percentage, потомки наследуют результирующее значение.

listStyleType

Специфицирует стиль символа, отображаемого в начале элемента списка.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.listStyleType = styleType

Параметры

styleObject

Style-объект.

styleType

Строка, вычисляемая в любое из следующих ключевых слов:

  • disc
  • circle
  • square
  • decimal
  • lower-roman
  • upper-roman
  • lower-alpha
  • upper-alpha
  • none

Свойство listStyleType является отражением свойства list-style-type каскадных таблиц стилей.

marginBottom

Специфицирует минимальное расстояние между низом HTML-элемента и верхом прилегающего элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.marginBottom = {length | percentage | auto}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процент от ширины родительского элемента; например, 20%.

auto

Строка auto, указывающая, что это поле определяется автоматически Navigator'ом.

Свойство marginBottom является отражением свойства margin-bottom каскадных таблиц стилей.

См. также

Style.marginLeft, Style.marginRight, Style.marginTop, Style.margins

marginLeft

Специфицирует минимальное расстояние между левым краем HTML-элемента и правым краем прилегающего элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.marginLeft = {length | percentage | auto}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

auto

Строка auto, указывающая, что это поле определяется автоматически Navigator'ом.

Свойство marginLeft является отражением свойства margin-left каскадных таблиц стилей.

См. также

Style.marginBottom, Style.marginRight, Style.marginTop, Style.margins

marginRight

Специфицирует минимальное расстояние между правым краем HTML-элемента и левым краем прилегающего элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.marginRight = {length | percentage | auto}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

auto

Строка auto, указывающая, что это поле определяется автоматически Navigator'ом.

Свойство marginRight является отражением свойства margin-right каскадных таблиц стилей.

См. также

Style.marginBottom, Style.marginLeft, Style.marginTop, Style.margins

margins

Специфицирует минимальное расстояние между краями HTML-элемента и краями смежных элементов.

Метод из | Style
Реализован в | JavaScript 1.2

Синтаксис

margins(top, right, bottom, left)

Параметры

top

Строка, специфицирующая значение свойства Style.marginTop.

right

Строка, специфицирующая значение свойства Style.marginRight.

bottom

Строка, специфицирующая значение свойства Style.marginBottom.

left

Строка, специфицирующая значение свойства Style.marginLeft.

Описание

Метод margins является удобной аббревиатурой для установки одновременной всех полей.

См. также

Style.marginBottom, Style.marginLeft, Style.marginRight, Style.marginTop

marginTop

Специфицирует минимальное расстояние между верхом HTML-элемента и низом прилегающего элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.marginTop = {length | percentage | auto}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

auto

Строка auto, указывающая, что это поле определяется автоматически Navigator'ом.

Свойство marginTop является отражением свойства margin-top каскадных таблиц стилей.

См. также

Style.marginBottom, Style.marginLeft, Style.marginRight, Style.margins

paddingBottom

Специфицирует, какое пространство вставить между низом элемента и его содержимым, таким как текст или рисунок.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.paddingBottom = {length | percentage}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

Свойство paddingBottom является отражением свойства padding-bottom каскадных таблиц стилей.

См. также

Style.paddingLeft, Style.paddingRight, Style.paddingTop, Style.paddings

paddingLeft

Специфицирует, какое пространство вставить между левым краем элемента и его содержимым, таким как текст или рисунок.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.paddingLeft = {length | percentage}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

Свойство paddingLeft является отражением свойства padding-left каскадных таблиц стилей.

См. также

Style.paddingBottom, Style.paddingRight, Style.paddingTop, Style.paddings

paddingRight

Специфицирует, какое пространство вставить между правым краем элемента и его содержимым, таким как текст или рисунок.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.paddingRight = {length | percentage}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

Свойство paddingRight является отражением свойства padding-right каскадных таблиц стилей.

См. также

Style.paddingBottom, Style.paddingLeft, Style.paddingTop, Style.paddings

paddings

Специфицирует, какое пространство вставить между краями элемента и его содержимым, таким как текст или рисунок.

Метод из | Style
Реализован в | JavaScript 1.2

Синтаксис

paddings(top, right, bottom, left)

Параметры

top

Строка, специфицирующая значение свойства Style.paddingTop.

right

Строка, специфицирующая значение свойства Style.paddingRight.

bottom

Строка, специфицирующая значение свойства Style.paddingBottom.

left

Строка, специфицирующая значение свойства Style.paddingLeft.

Описание

Метод paddings является удобной аббревиатурой для установки одновременной всех свойств заполнения/padding.

См. также

Style.paddingBottom, Style.paddingLeft, Style.paddingRight, Style.paddingTop

paddingTop

Специфицирует, какое пространство вставить между верхом элемента и его содержимым, таким как текст или рисунок.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.paddingTop = {length | percentage}

Параметры

styleObject

Style-объкт.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

Свойство paddingTop является отражением свойства padding-top каскадных таблиц стилей.

См. также

Style.paddingBottom, Style.paddingLeft, Style.paddingRight, Style.paddings

textAlign

Специфицирует выравнивание текстового HTML-элемента уровня блока.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.textAlign = alignment

Параметры

styleObject

Style-объект.

alignment

Строка, вычисляемая в любое из следующих ключевых слов:

  • left
  • right
  • center
  • justify

Не путайте textAlign с align, которое специфицирует выравнивание HTML-элемента внутри его родителя.

Свойство textAlign является отражением свойства text-align каскадных таблиц стилей.

textDecoration

Специфицирует специальные эффекты, такие как мигание, перечёркивание и подчёркивание, добавляемые к текстовому HTML-элементу.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.textDecoration = decoration

Параметры

styleObject

Style-объект.

decoration

Строка, вычисляемая в любое из следующих ключевых слов:

  • none
  • underline
  • line-through
  • blink

Свойство textDecoration является отражением свойства text-decoration каскадных таблиц стилей.

textIndent

Специфицирует размер отступа перед первой отформатированной строкой текстового HTML-элемента уровня блока.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.textIndent = {length | percentage}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 18pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

Свойство textIndent является отражением свойства text-indent каскадных таблиц стилей.

textTransform

Специфицирует регистр текстового HTML-элемента уровня блока.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.textTransform = transformation

Параметры

styleObject

Style-объект.

transformation

Строка, вычисляемая в любое из следующих ключевых слов:

  • none
  • capitalize
  • uppercase
  • lowercase

Свойство textTransform является отражением свойства text-transform каскадных таблиц стилей.

whiteSpace

Специфицирует, должен ли сжиматься пробел внутри HTML-элемента.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.whiteSpace = {normal | pre}

Параметр

styleObject

A Style object.

Свойство whiteSpace является отражением свойства white-space каскадных таблиц стилей.

width

Специфицирует ширину HTML-элемента уровня блока.

Свойство из | Style
Реализовано в | JavaScript 1.2

Синтаксис

styleObject.width = {length | percentage | auto}

Параметры

styleObject

Style-объект.

length

Строка, вычисляемая в размер с последующими единицами измерения; например, 10pt.

percentage

Строка, вычисляемая в процентах от ширины родительского элемента; например, 20%.

auto

Строка auto, указывающая, что ширина определяется автоматически Navigator'ом.

Свойство width является отражением свойства width каскадных таблиц стилей.

Свойства Style.marginLeft и Style.marginRight имеют приоритет над свойством Style.width. Например, если marginLeft установлено в 25%, marginRight установлено в 10%, а width установлена в 100%, Navigator игнорирует значение width и использует 65% для установки width.


Submit

Кнопка submit на HTML-форме. Кнопка submit отправляет форму на сервер.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type; добавлены обработчики onBlur и onFocus; добавлены методы blur и focus. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэгом INPUT с "submit" в качестве значения атрибута TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующий объект Submit и помещает его в массив elements соответствующего объекта Form. Вы получаете доступ к к объекту Submit по индексу в этом массиве. Можно индексировать массив цифрами или, если имеются, по значениям атрибута NAME.

Обработчики событий

  • onBlur
  • onClick
  • onFocus

Безопасность

Отправка формы по URL mailto: или news: требует привилегии UniversalSendMail. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Объект Submit на форме выглядит так:

Объект Submit является элементом формы и обязан быть определён в тэге FORM.

Щелчок по кнопке submit отправляет форму по URL, специфицированному в свойстве action формы. Эта акция всегда загружает клиенту новую страницу; это может быть та же страница, что и текущая, если action это специфицирует или если не специфицирует.

Обработчик onClick кнопки submit не может предотвратить отправку формы; используйте вместо этого обработчика обработчик onSubmit или метод submit вместо объекта Submit. См. примеры для объекта Form.

Свойства. Резюме.

Свойство Описание
form

Специфицирует форму, содержащую Submit-объект.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает атрибут VALUE.

Методы. Резюме.

Метод Описание
blur

Убирает фокус с кнопки submit.

click

Симулирует щелчок мыши по кнопке submit.

focus

Передаёт фокус кнопке submit.

handleEvent

Вызывает обработчик для специфицированного события.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Пример

Создаётся объект Submit по имени submitButton. Текст "Done" отображается на поверхности кнопки.

<INPUT TYPE="submit" NAME="submitButton" VALUE="Done">

См. примеры для Form.

См. также

Button, Form, Reset, Form.submit, onSubmit

blur

Убирает фокус с кнопки submit.

Метод из | Submit
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

См. также

Submit.focus

click

Симулирует щелчок мыши по кнопке submit, но не запускает обработчик onClick объекта.

Метод из | Submit
Реализован в | JavaScript 1.0

Синтаксис

click()

Параметры

Отсутствуют.

focus

Переходит к кнопке submit и передаёт ей фокус.

Метод из | Submit
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

См. также

Submit.blur

form

Ссылка объекта, специфицирующая форму, содержащую кнопку submit.

Свойство из | Submit
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form которое является ссылкой на родительскую форму элемента. Это свойство используется в основном с обработчиками событий, где может понадобиться обратиться к другому элементу текущей формы.

Пример

В этом примере показана форма с несколькими элементами. Если пользователь щёлкает на кнопке button2, функция showElements выводит alert-диалог с именами всех элементов формы myForm.

<SCRIPT>
function showElements(theForm) {
   str = "Form Elements of form " + theForm.name + ": \n "
   for (i = 0; i < theForm.length; i++)
      str += theForm.elements[i].name + "\n"
   alert(str)
}
</SCRIPT>
<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1" VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"
   onClick="this.form.text1.value=this.form.name">
<INPUT NAME="button2" TYPE="submit" VALUE="Show Form Elements"
   onClick="showElements(this.form)">
</FORM>

Диалог alert выведет следующий текст:

Form Elements of form myForm:
text1
button1
button2

См. также

Form

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Submit
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик.

Описание

Об обработке событий см. книгу Клиентский JavaScript. Руководство.

name

Строка, специфицирующая имя submit-кнопки.

Свойство из | Submit
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет значение атрибута.

Не путайте свойство name с текстом, отображаемым на поверхности Submit-кнопки. Свойство value специфицирует текст на кнопке. Свойство name не выводится на экран; оно используется для программного обращения к кнопке.

Если несколько объектов на одной форме имеют одинаковые значения атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный Form-объект. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент Submit на одной форме имеют в своих атрибутах NAME значение "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать о такой ситуации в Вашем коде и знать, ссылается ли myField на единственный элемент или на массив элементов.

Пример

Здесь функция valueGetter использует цикл for для итерации по массиву элементов формы valueTest. Окно msgWindow отображает имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

См. также

Submit.value

type

Для всех Submit-объектов значение свойства type будет "submit". Это свойство специфицирует тип элемента формы.

Свойство из | Submit
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Записываются значения свойства type каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {
   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, отражающая значение атрибута VALUE кнопки submit.

Свойство из | Submit
Только для чтения |
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Если атрибут VALUE специфицируется в HTML, свойство value будет содержать эту же строку, и она будет отображаться на поверхности кнопки. Если атрибут VALUE не специфицируется в HTML, свойство value кнопки будет иметь значение "Submit Query".

Не путайте свойство value со свойством name. Свойство name не отображается на экране; оно используется для программного обращения к кнопке.

Пример

Следующая функция вычисляет свойство value группы кнопок и выводит его в окне msgWindow:

function valueGetter() {
   var msgWindow=window.open("")
   msgWindow.document.write("submitButton.value is " +
      document.valueTest.submitButton.value + "<BR>")
   msgWindow.document.write("resetButton.value is " +
      document.valueTest.resetButton.value + "<BR>")
   msgWindow.document.write("helpButton.value is " +
      document.valueTest.helpButton.value + "<BR>")
   msgWindow.document.close()
}

Будут выведены следующие значения:

Query Submit
Reset
Help

Предполагается, что кнопки были определены так:

<INPUT TYPE="submit" NAME="submitButton">
<INPUT TYPE="reset" NAME="resetButton">
<INPUT TYPE="button" NAME="helpButton" VALUE="Help">

См. также

Submit.name
§ ← → У


sun

Объект верхнего уровня, используемый для доступа к Java-классам пакета sun.*.

Объект ядра |
Реализован в | JavaScript 1.1, NES 2.0

Создание

Объект sun это предопределённый объект верхнего уровня JavaScript. Вы получаете к нему доступ автоматически без использования конструктора или вызова метода.

Описание

Объект sun это синоним свойства Packages.sun.

См. также

Packages, Packages.sun

§ ← → У


Text

Поле для ввода текста на HTML-форме. Пользователь может ввести в текстовое поле слово, фразу или последовательность цифр или символов.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэгом INPUT с "text" в качестве значения атрибута TYPE. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты Text и помещает эти объекты в массив elements соответствующего объекта Form. Доступ к Text-объекту Вы получаете по индексу в этом массиве. Можно индексировать числами или, если имеются, значениями атрибутов NAME.

Для определения Text-объекта используется стандартный синтаксис HTML с добавлением обработчиков событий JavaScript.

Обработчики событий

  • onBlur
  • onChange
  • onFocus
  • onSelect

Описание

Text-объект на форме выглядит так:

Text-объект это элемент формы и он обязан быть определён в тэге FORM.

Text-объекты могут быть обновлены (перерисованы) динамически через установку свойства value /(this.value).

Свойства. Резюме.

Свойство Описание
defaultValue

Отражает атрибут VALUE.

form

Специфицирует форму, содержащую Text-объект.

name

Отражает атрибут NAME.

type

Отражает атрибут TYPE.

value

Отражает текущее значение поля объекта Text.

Методы. Резюме.

Метод Описание
blur

Убирает фокус с объекта.

focus

Передаёт фокус объекту.

handleEvent

Вызывает обработчик для специфицированного события.

select

Выделяет область ввода объекта.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Создаётся Text-объект длиной 25 символов. Текстовое поле расположено сразу справа от слов "Last name:". При загрузке формы текстовое поле очищено.

<B>Last name:</B> <INPUT TYPE="text" NAME="last_name" VALUE="" SIZE=25>

Пример 2. Создаются два Text-объекта на форме. Каждый объект имеет значение по умолчанию. Объект city имеет обработчик onFocus, который выделяет весь текст в поле, когда пользователь переходит в это поле с помощью табуляции. Объект state имеет обработчик onChange, который переводит значение в верхний регистр.

<FORM NAME="form1">
<BR><B>City: </B><INPUT TYPE="text" NAME="city" VALUE="Anchorage"
   SIZE="20" onFocus="this.select()">
<B>State: </B><INPUT TYPE="text" NAME="state" VALUE="AK" SIZE="2"
   onChange="this.value=this.value.toUpperCase()">
</FORM>

См. также примеры для onBlur, onChange, onFocus и onSelect.

См. также

Text, Form, Password, String, Textarea

blur

Убирает фокус с текстового поля.

Метод из | Text
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

Пример

Убирается фокус с текстового элемента userText:

userText.blur()

Предполагается, что текстовый элемент определён так:

<INPUT TYPE="text" NAME="userText">

См. также

Text.focus, Text.select

defaultValue

Строка со значением по умолчанию для объекта Text.

Свойство из | Text
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Начальное значение defaultValue отражает значение атрибута VALUE. Установка defaultValue программно переопределяет начальную установку.

Вы можете установить свойство defaultValue в любое время. Вид соответствующего объекта не обновляется при установке свойства defaultValue, это происходит только при установке свойства value.

Пример

Функция вычисляет свойства defaultValue объекта на форме surfCity и отображает значения в окне msgWindow:

function defaultGetter() {
   msgWindow=window.open("")
   msgWindow.document.write("hidden.defaultValue is " +
      document.surfCity.hiddenObj.defaultValue + "<BR>")
   msgWindow.document.write("password.defaultValue is " +
      document.surfCity.passwordObj.defaultValue + "<BR>")
   msgWindow.document.write("text.defaultValue is " +
      document.surfCity.textObj.defaultValue + "<BR>")
   msgWindow.document.write("textarea.defaultValue is " +
      document.surfCity.textareaObj.defaultValue + "<BR>")
   msgWindow.document.close()
}

См. также

Text.value

focus

Переходит к текстовому полю и передаёт ему фокус.

Метод из | Text
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

Описание

Метод focus используется для перехода к текстовому полю и для передачи ему фокуса ввода. Вы можете затем программно ввести значение в это поле или дать возможность пользователю сделать это. Если этот метод используется без метода select, курсор позиционируется в начале поля.

Примеры

См. примеры для select.

См. также

Text.blur, Text.select

form

Ссылка объекта, специфицирующая форму, содержащую данный объект.

Свойство из | Text
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в основном в обработчиках событий, когда необходимо обратиться к другому элементу на текущей форме.

Примеры

Пример 1. Форма myForm содержит Text-объект и кнопку. если пользователь щёлкает по кнопке, в Text-объект устанавливается значение имени формы. Обработчик onClick кнопки использует this.form для обращения к текущей форме myForm.

<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1" VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"
   onClick="this.form.text1.value=this.form.name">
</FORM>

Пример 2. Показана форма с несколькими элементами. Если пользователь щёлкает кнопку button2, функция showElements выводит диалог alert, содержащий имена всех элементов формы myForm.

function showElements(theForm) {
   str = "Form Elements of form " + theForm.name + ": \n "
   for (i = 0; i < theForm.length; i++)
      str += theForm.elements[i].name + "\n"
   alert(str)
}
</script>
<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1" VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"
   onClick="this.form.text1.value=this.form.name">
<INPUT NAME="button2" TYPE="button" VALUE="Show Form Elements"
   onClick="showElements(this.form)">
</FORM>

Диалог alert выведет следующий текст:

JavaScript Alert:
Form Elements of form myForm:
text1
button1
button2

Пример 3. Здесь используется ссылка объекта, а не ключевое слово this, для обращения к форме. Код возвращает ссылку на myForm, которая является формой, содержащей элемент myTextObject.

document.myForm.myTextObject.form

См. также

Form

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Text
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик.

name

Строка, специфицирующая имя данного объекта.

Свойство из | Text
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет это значение. Свойство name не выводится на экран; оно используется для программного обращения к объекту.

Если несколько объектов на одной форме имеют одинаковые значения своих атрибутов NAME, автоматически создаётся массив с этим именем. Каждый элемент массива представляет отдельный объект Form. Элементы индексируются в порядке расположения в коде, начиная с 0. Например, если два элемента Text и элемент Textarea на одной форме имеют в своих атрибутах NAME значение "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать о возможности возникновения такой ситуации в Вашем коде и знать, ссылается myField на единственный элемент или на массив элементов.

Пример

Здесь функция valueGetter использует цикл for для итерации по массиву элементов на форме valueTest. Окно msgWindow выводит имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

select

Выделяет область ввода текстового поля.

Метод из | Text
Реализован в | JavaScript 1.0

Синтаксис

select()

Параметры

Отсутствуют.

Описание

Используйте метод select для выделения области ввода текстового поля. Можно использовать метод select вместе с методом focus для выделения поля и позиционирования в нём курсора. Это даст пользователю возможность быстро заменить весь текст поля.

Пример

Обработчик onClick передаёт фокус текстовому полю и выделяет весь текст :

<FORM NAME="myForm">
<B>Last name: </B><INPUT TYPE="text" NAME="lastName" SIZE=20 VALUE="Pigman">
<BR><B>First name: </B><INPUT TYPE="text" NAME="firstName" SIZE=20 VALUE="Victoria">
<BR><BR>
<INPUT TYPE="button" VALUE="Change last name"
   onClick="this.form.lastName.select();this.form.lastName.focus();">
</FORM>

См. также

Text.blur, Text.focus

type

Для всех Text-объектов это поле будет иметь значение "text". Это свойство специфицирует тип элемента формы.

Свойство из | Text
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Записываются значения свойства type каждого элемента формы.

for (var i = 0; i < document.form1.elements.length; i++) {
   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, отражающая значение атрибута VALUE объекта.

Свойство из | Text
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство value это строка. первоначально отражающая значение атрибута VALUE. Эта строка выводится в текстовом поле. Значение этого свойства изменяется, если пользователь или программа модифицируют это поле.

Вы можете установить свойство value в любое время. Вид Text-объекта обновляется сразу после установки свойства value.

Пример

Следующая функция вычисляет свойства value группы кнопок и отображает их в окне msgWindow:

function valueGetter() {
   var msgWindow=window.open("")
   msgWindow.document.write("submitButton.value is " +
      document.valueTest.submitButton.value + "<BR>")
   msgWindow.document.write("resetButton.value is " +
      document.valueTest.resetButton.value + "<BR>")
   msgWindow.document.write("myText.value is " +
      document.valueTest.myText.value + "<BR>")
   msgWindow.document.close()
}

Пример выведет:

submitButton.value is Query Submit
resetButton.value is Reset
myText.value is Stonefish are dangerous.

Предполагается, что кнопки определены так:

<INPUT TYPE="submit" NAME="submitButton">
<INPUT TYPE="reset" NAME="resetButton">
<INPUT TYPE="text" NAME="myText" VALUE="Stonefish are dangerous.">

См. также

Text.defaultValue
§ ← → У


Textarea

Поле многострочного ввода текста на HTML-форме. Можно вводить слова, фразы или числа.

Клиентский объект |
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлено свойство type. JavaScript 1.2: добавлен метод handleEvent.

Создание

HTML-тэгом TEXTAREA. Для данной формы машина выполнения JavaScript создаёт соответствующие объекты Textarea и помещает эти объекты в массив elements соответствующего объекта Form. Вы получаете доступ к объекту Textarea по индексу в этом массиве. Можно индексировать массив числами или, если имеются, значениями атрибутов NAME.

Для определения textarea используется стандартный синтаксис HTML с добавлением обработчиков событий JavaScript.

Обработчики событий

  • onBlur
  • onChange
  • onFocus
  • onKeyDown
  • onKeyPress
  • onKeyUp
  • onSelect

Описание

Объект Textarea на форме выглядит так:

Объект Textarea это элемент формы, который обязан быть определён в тэге FORM.

Textarea-объекты могут обновляться (перерисовываться) динамически через установку свойства value/(this.value).

Для перехода на новую строку в Textarea-объекте Вы можете использовать символ новой строки. Хотя этот символ отличается для разных платформ (на Unix это \n, на Windows это \r, на Macintosh это \n), JavaScript проверяет все символы новой строки перед установкой строки-значения свойства и трансляцией его для конкретной платформы. Можно вводить символы новой строки программно -- один из способов это проверить свойство navigator.appVersion для определения текущей платформы, затем установить соответствующий символ новой строки. См. примеры в navigator.appVersion.

Свойства. Резюме.

Свойство Описание
defaultValue

Отражает атрибут VALUE.

form

Специфицирует форму, содержащую Textarea-объект.

name

Отражает атрибут NAME.

type

Специфицирует тип объекта (в данном случае Textarea).

value

Отражает текущее значение Textarea-объекта.

Методы. Резюме.

Метод Описание
blur

Убирает фокус с объекта.

focus

Передаёт фокус объекту.

handleEvent

Вызывает обработчик для специфицированного события.

select

Выделяет область ввода объекта.

Кроме того, этот объект наследует методы watch и unwatch из объекта Object.

Примеры

Пример 1. Создаётся объект Textarea размером 6 рядов на 55 столбцов. Поле textarea расположено ниже слова "Description:". Когда форма загружается, Textarea-объект содержит несколько строк данных, включая одну пустую строку.

<B>Description:</B>
<BR><TEXTAREA NAME="item_description" ROWS=6 COLS=55>
Our storage ottoman provides an attractive way to
store lots of CDs and videos--and it's versatile
enough to store other things as well.
It can hold up to 72 CDs under the lid and 20 videos
in the drawer below.
</TEXTAREA>

Пример 2. Сроковая переменная содержит символы новой строки для различных платформ. Если пользователь щёлкает кнопку, Textarea-объект заполняется значением из строковой переменной. В результате получаются три строки текста в Textarea-объекте.

<SCRIPT>
myString="This is line one.\nThis is line two.\rThis is line three."
</SCRIPT>
<FORM NAME="form1">
<INPUT TYPE="button" Value="Populate the textarea"
onClick="document.form1.textarea1.value=myString">
   <P>
<TEXTAREA NAME="textarea1" ROWS=6 COLS=55></TEXTAREA>

См. также

Form, Password, String, Text

blur

Убирает фокус с объекта.

Метод из | Textarea
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

Пример

Убирается фокус с textarea-элемента userText:

userText.blur()

Предполагается что textarea определён так:

<TEXTAREA NAME="userText">
Initial text for the text area.
</TEXTAREA>

См. также

Textarea.focus, Textarea.select

defaultValue

Строка, содержащая значение по умолчанию объекта Textarea.

Свойство из | Textarea
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Начальное значение defaultValue отражает значение, специфицированное между начальным и конечным тэгами TEXTAREA. Установка свойства defaultValue программно переопределяет начальное значение.

Вы можете установить свойство defaultValue в любое время. Вид объекта не обновляется при установке свойства defaultValue, это делается только при установке свойства value.

Пример

Следующая функция вычисляет свойство defaultValue объектов на форме surfCity и выводит эти значения в окне msgWindow:

function defaultGetter() {
   msgWindow=window.open("")
   msgWindow.document.write("hidden.defaultValue is " +
      document.surfCity.hiddenObj.defaultValue + "<BR>")
   msgWindow.document.write("password.defaultValue is " +
      document.surfCity.passwordObj.defaultValue + "<BR>")
   msgWindow.document.write("text.defaultValue is " +
      document.surfCity.textObj.defaultValue + "<BR>")
   msgWindow.document.write("textarea.defaultValue is " +
      document.surfCity.textareaObj.defaultValue + "<BR>")
   msgWindow.document.close()
}

См. также

Textarea.value

focus

Переходит к полю textarea и передаёт ему фокус.

Метод из | Textarea
Реализован в | JavaScript 1.0

Синтаксис

focus()

Параметры

Отсутствуют.

Описание

Метод focus используется для перехода к полю textarea и передачи ему фокуса. Затем можно программно ввести значение поля или дать пользователю возможность сделать это. Если Вы используете этот метод без метода select, курсор позиционируется в начале поля.

Примеры

См. примеры для Textarea.select.

См. также

Textarea.blur, Textarea.select

form

Ссылка объекта на форму, содержащую данный объект.

Свойство из | Textarea
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в основном в обработчиках событий, где может понадобиться обратиться к другому элементу на текущей форме.

Примеры

Пример 1. Здесь показана форма с несколькими элементами. Если пользователь щёлкает кнопку button2, функция showElements отображает диалог alert с именами всех элементов формы myForm.

function showElements(theForm) {
   str = "Form Elements of form " + theForm.name + ": \n "
   for (i = 0; i < theForm.length; i++)
      str += theForm.elements[i].name + "\n"
   alert(str)
}
</script>
<FORM NAME="myForm">
Form name:<INPUT TYPE="textarea" NAME="text1" VALUE="Beluga">
<P>
<INPUT NAME="button1" TYPE="button" VALUE="Show Form Name"
   onClick="this.form.text1.value=this.form.name">
<INPUT NAME="button2" TYPE="button" VALUE="Show Form Elements"
   onClick="showElements(this.form)">
</FORM>

Диалог alert выведет:

JavaScript Alert:
Form Elements of form myForm:
text1
button1
button2

Пример 2. Здесь используется ссылка объекта, а не ключевое слово this, для ссылки на форму. Код возвращает ссылку на myForm, которая является формой - контейнером объекта myTextareaObject.

document.myForm.myTextareaObject.form

См. также

Form

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | Textarea
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого объект имеет обработчик.

Описание

Об обработке событий см. книгу Клиентский JavaScript. Руководство.

name

Строка, специфицирующая имя данного объекта.

Свойство из | Textarea
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет это значение. Свойство name не выводится на экран; оно используется для программного обращения к объекту.

Если несколько объектов на одной форме имеют одно значение атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент массива представляет отдельный объект Form. Элементы индексируются в порядке появления в коде, начиная с 0. Например, если два элемента Text и элемент Textarea на одной форме имеют в атрибуте NAME значение "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать о возможности возникновения такой ситуации в Вашем коде и знать, ссылается myField на единственный элемент или на массив элементов.

Пример

Здесь функция valueGetter использует цикл for для итерации по массиву элементов на форме valueTest. Окно msgWindow выводит имена всех элементов формы:

newWindow=window.open("http://home.netscape.com")
function valueGetter() {
   var msgWindow=window.open("")
   for (var i = 0; i < newWindow.document.valueTest.elements.length; i++) {
      msgWindow.document.write(newWindow.document.valueTest.elements[i].name + "<BR>")
   }
}

select

Выделяет область ввода объекта.

Метод из | Textarea
Реализован в | JavaScript 1.0

Синтаксис

select()

Параметры

Отсутствуют.

Описание

Используйте метод select для выделения области ввода поля textarea. Вы можете использовать метод select вместе с методом focus для выделения поля и позиционирования в нём курсора. Это облегчает замену всего текста поля.

Пример

Здесь обработчик onClick используется для передачи фокуса полю textarea и выделения этого поля для последующего его изменения:

<FORM NAME="myForm">
<B>Last name: </B><INPUT TYPE="text" NAME="lastName" SIZE=20 VALUE="Pigman">
<BR><B>First name: </B><INPUT TYPE="text" NAME="firstName" SIZE=20 VALUE="Victoria">
<BR><B>Описание:</B>
<BR><TEXTAREA NAME="desc" ROWS=3 COLS=40>An avid scuba diver.</TEXTAREA>
<BR><BR>
<INPUT TYPE="button" VALUE="Change description"
   onClick="this.form.desc.select();this.form.desc.focus();">
</FORM>

См. также

Textarea.blur, Textarea.focus

type

Для всех объектов Textarea свойство type имеет значение "textarea". Это свойство специфицирует тип элемента формы.

Свойство из | Textarea
Только для чтения |
Реализовано в | JavaScript 1.1

Пример

Записываются значения свойства type всех элементов формы:

for (var i = 0; i < document.form1.elements.length; i++) {
   document.writeln("<BR>type is " + document.form1.elements[i].type)
}

value

Строка, первоначально отражающая значение атрибута VALUE.

Свойство из | Textarea
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Эта строка отображается в поле textarea. Значение этого свойства изменяется, если пользователь программы изменяет текст поля.

Вы можете установить свойство value в любое время. Вид Textarea-объекта обновляется сразу после установки Вами значения свойства value.

Пример

Эта функция вычисляет свойства value группы кнопок и выводит их в окне msgWindow:

function valueGetter() {
   var msgWindow=window.open("")
   msgWindow.document.write("submitButton.value is " +
      document.valueTest.submitButton.value + "<BR>")
   msgWindow.document.write("resetButton.value is " +
      document.valueTest.resetButton.value + "<BR>")
   msgWindow.document.write("blurb.value is " +
      document.valueTest.blurb.value + "<BR>")
   msgWindow.document.close()
}

Будет выведено:

submitButton.value is Query Submit
resetButton.value is Reset
blurb.value is Tropical waters contain all sorts of cool fish,
such as the harlequin ghost pipefish, dragonet, and cuttlefish.
A cuttlefish looks much like a football wearing a tutu and a mop.

Предполагается, что кнопки были определены так:

<INPUT TYPE="submit" NAME="submitButton">
<INPUT TYPE="reset" NAME="resetButton">
<TEXTAREA NAME="blurb" rows=3 cols=60>
Tropical waters contain all sorts of cool fish,
such as the harlequin ghost pipefish, dragonet, and cuttlefish.
A cuttlefish looks much like a football wearing a tutu and a mop.
</TEXTAREA>

См. также

Textarea.defaultValue
§ ← → У


window

Окно или фрэйм в браузере. Это объект верхнего уровня для каждой группы объектов document, Location и History.

Клиентский объект

Реализован в

JavaScript 1.0

JavaScript 1.1: добавлены свойства closed, history и opener; добавлены методы blur, focus и scroll; добавлены обработчики onBlur, onError и onFocus.

JavaScript 1.2: добавлены свойства crypto, innerHeight, innerWidth, locationbar, menubar, offscreenBuffering, outerHeight, outerWidth, pageXOffset, pageYOffset, personalbar, screenX, screenY, scrollbars, statusbar и toolbar; добавлены методы atob, back, btoa, captureEvents, clearInterval, crypto.random, crypto.signText, disableExternalCapture, enableExternalCapture, find, forward, handleEvent, home, moveBy, moveTo, releaseEvents, resizeBy, resizeTo, routeEvent, scrollBy, scrollTo, setHotKeys, setInterval, setResizable, setZOptions и stop; не рекомендуется метод scroll.

Создание

Машина выполнения JavaScript создаёт объект window для каждого тэга BODY или FRAMESET. Она также создаёт объект window для представления каждого фрэйма, определённого тэгом FRAME. Кроме того, Вы можете создать другие окна, вызывая метод window.open. Детали определения окна см. в разделе open.

Обработчики событий

  • onBlur
  • onDragDrop
  • onError
  • onFocus
  • onLoad
  • onMove
  • onResize
  • onUnload

В JavaScript 1.1, на некоторых платформах, размещение обработчика onBlur или onFocus в тэге FRAMESET не даёт эффекта.

Описание

Объект window это объект верхнего уровня в клиентской иерархии JavaScript. Объект window может представлять окно верхнего уровня или фрэйм из набора фрэймов. Для удобства Вы можете представлять объект Frame как объект window, который не является окном верхнего уровня. Однако в действительности не существует отдельный класс Frame; эти объекты в действительности являются объектами window с очень небольшими отличиями:

  • Для окна верхнего уровня свойства parent и top являются ссылками на само это окно. Для фрэйма - top ссылается на самое верхнее окно браузера, а parent ссылается на родительское окно текущего окна.
  • Для окна верхнего уровня установка свойства defaultStatus или status устанавливает текст status-строки браузера. Для фрэйма установка этих свойств устанавливает только текст статусной строки, когда курсор находится над фрэймом.
  • Метод close не используется для окон, которые являются фрэймами.
  • Для создания обработчика onBlur или onFocus для фрэйма Вы обязаны установить свойство onblur или onfocus и специфицировать его в нижнем регистре (нельзя специфицировать его в HTML).
  • Если тэг FRAME содержит атрибуты SRC и NAME, Вы можете обратиться к этому фрэйму из фрэйма-родственника через parent.frameName или parent.frames[index]. Например, если четвёртый фрэйм из набора фрэймов имеет атрибут NAME="homeFrame", фрэймы-родственники могут обратиться к этому фрэйму parent.homeFrame или parent.frames[3].

Для всех окон свойства self и window объекта window являются синонимами текущего окна, и Вы можете по выбору использовать их для обращения к текущему окну. Например, можно закрыть текущее окно, вызвав метод close в window или в self. Вы можете использовать эти свойства, чтобы сделать Ваш код более читабельным или чтобы отличить ссылку self.status от status. См. далее примеры для свойств и методов.

Поскольку принимается существование текущего окна, Вы не должны обращаться к имени окна при вызове его методов и присвоении значений свойств. Например, status="Jump to a new location" это верное присвоение свойства, а close() это верный вызов метода.

Однако, если Вы открываете или закрываете окно обработчиком события, Вы обязаны специфицировать window.open() или window.close() вместо open() или close(). Из-за видимости static-объектов в JavaScript, вызов close() без указания имени объекта эквивалентен document.close().

По некоторым причинам, если Вы обращаетесь к объекту location в обработчике события, Вы обязаны специфицировать window.location вместо location. Вызов location без специфицирования имени объекта эквивалентен document.location, что является синонимом document.URL.

Вы можете обратиться к объектам Frame окна в коде через использование массива frames. В окне с тэгом FRAMESET массив frames содержит вхождение для каждого фрэйма.

Окну нужны обработчики событий, пока HTML, который содержит тэг BODY или FRAMESET, не будет загружен в него.

Свойства. Резюме.

Свойство Описание
closed

Специфицирует, закрыто ли окно.

crypto

Объект, дающий доступ к возможностям шифрования Navigator'а.

defaultStatus

Отражает сообщение по умолчанию, выводимое в статусной строке.

document

Содержит информацию о текущем документе и предоставляет методы для отображения вывода HTML пользователю.

frames

Массив, отражающий все фрэймы окна.

history

Содержит информацию о URL, которые клиент посетил в данном окне.

innerHeight

Специфицирует вертикальные размеры в пикселах области содержимого окна.

innerWidth

Специфицирует горизонтальные размеры в пикселах области содержимого окна.

length

Количество фрэймов в окне.

location

Содержит информацию о текущем URL.

locationbar

Адресная строка окна браузера.

menubar

Строка меню окна браузера.

name

Уникальное имя, используемое для обращения к данному окну.

offscreenBuffering

Специфицирует, выполняются ли обновления окна во внеоконном буфере.

opener

Специфицирует имя окна вызывающего документа, если окно открывается методом open.

outerHeight

Специфицирует вертикальные размеры в пикселах внешней границы окна.

outerWidth

Специфицирует горизонтальные размеры в пикселах внешней границы окна.

pageXOffset

Предоставляет текущую x-позицию в пикселах просматриваемой страницы окна.

pageYOffset

Предоставляет текущую у-позицию в пикселах просматриваемой страницы окна.

parent

Синоним окна или фрэйма, чей frameset содержит текущий фрэйм.

personalbar

Представляет personal bar окна браузера (называемый также строкой директорий).

screenX

Специфицирует x-координату левого края окна.

screenY

Специфицирует у-координату верхнего края окна.

scrollbars

Полосы прокрутки окна браузера.

self

Синоним текущего окна.

status

Специфицирует приоритетное сообщение статусной строки окна.

statusbar

Статусная строка окна браузера.

toolbar

Строка утилит окна браузера.

top

Синоним наивысшего окна браузера.

window

Синоним текущего окна.

Методы. Резюме.

Метод Описание
alert

Отображает диалоговое окно Alert с сообщением и кнопкой OK.

atob

Декодирует строку данных, кодированную с использованием кодировки base-64.

back

Отменяет последний шаг истории в любом фрэйме окна верхнего уровня.

blur

Убирает фокус со специфицированного объекта.

btoa

Создаёт строку с кодирование base-64.

captureEvents

Устанавливает захват окном или документом всех событий специфицированного типа.

clearInterval

Отменяет таймаут, установленный методом setInterval.

clearTimeout

Отменяет таймаут, установленный методом setTimeout.

close

Закрывает специфицированное окно.

confirm

Выводит диалог Confirm со специфицированным сообщением и кнопками OK и Cancel.

crypto.random

Возвращает псевдослучайную строку, длина которой равна специфицированному количеству байтов.

crypto.signText

Возвращает строку кодированных данных, которая представляет маркированный/помеченный объект.

disableExternalCapture

Отменяет захват внешних событий, установленный методом enableExternalCapture.

enableExternalCapture

Разрешает окну с фрэймами захватывать события в страницах, загружаемых с других серверов.

find

Находит специфицированную текстовую строку в содержимом специфицированного окна.

focus

Передаёт фокус специфицированному элементу.

forward

Загружает следующий URL из списка history.

handleEvent

Вызывает обработчик для специфицированного события.

home

Переводит браузер на URL, специфицированный в установках пользователя как домашняя страница.

moveBy

Перемещает окно на специфицированные величины.

moveTo

Перемещает верхний левый угол окна на специфицированные координаты экрана.

open

Открывает новое окно web-браузера.

print

Печатает содержимое текущего окна или фрэйма.

prompt

Выводит диалог Prompt с сообщением и полем для ввода.

releaseEvents

Устанавливает освобождение захваченных окном событий специфицированного типа, отправляя событие объектам далее по иерархии событий.

resizeBy

Изменяет размеры всего окна, перемещая нижний правый угол окна на специфицированные величины.

resizeTo

Изменяет размеры всего окна на специфицированные внешние высоту и ширину.

routeEvent

Передаёт захваченное событие по нормальной иерархии событий.

scroll

Прокручивает окно до специфицированной координаты.

scrollBy

Прокручивает область просмотра окна на специфицированную величину.

scrollTo

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

setHotKeys

Включает или отключает горячие клавиши окна, не имеющего меню.

setInterval

Вычисляет выражение или вызывает функцию всякий раз по истечении специфицированного количества миллисекунд.

setResizable

Специфицирует, может ли пользователь изменять размеры окна.

setTimeout

Вычисляет выражение или вызывает функцию всякий раз по истечении специфицированного количества миллисекунд.

setZOptions

Специфицирует z-order стэкирования в окне.

stop

Останавливает загрузку.

Кроме того, этот объект наследует методы watch и unwatch из Object.

Примеры

Пример 1. Окна, открывающие другие окна. Здесь документ верхнего окна открывает второе окно window2 и определяет push-кнопки, которые открывают окно с сообщением, записывает в окно сообщения, закрывает его и закрывает window2. Обработчики onLoad и onUnload документа, загруженного в window2, выводят предупреждающие сообщения при открытии и закрытии окна.

win1.html, который определяет фрэймы для первого окна, содержит следующий код:

<HTML>
<HEAD>
<TITLE>window object example: Window 1</TITLE>
</HEAD>
<BODY BGCOLOR="antiquewhite">
<SCRIPT>
window2=open("win2.html","secondWindow",
   "scrollbars=yes,width=250, height=400")
document.writeln("<B>The first window has no name: "
   + window.name + "</B>")
document.writeln("<BR><B>The second window is named: "
   + window2.name + "</B>")
</SCRIPT>
<FORM NAME="form1">
<P><INPUT TYPE="button" VALUE="Open a message window"
   onClick = "window3=window.open('','messageWindow',
   'scrollbars=yes,width=175, height=300')">
<P><INPUT TYPE="button" VALUE="Write to the message window"
   onClick="window3.document.writeln('Hey there');
   window3.document.close()">
<P><INPUT TYPE="button" VALUE="Close the message window"
   onClick="window3.close()">
<P><INPUT TYPE="button" VALUE="Close window2"
   onClick="window2.close()">
</FORM>
</BODY>
</HTML>

win2.html, который определяет содержимое окна window2, содержит следующий код:

<HTML>
<HEAD>
<TITLE>window object example: Window 2</TITLE>
</HEAD>
<BODY BGCOLOR="oldlace"
   onLoad="alert('Message from ' + window.name + ': Hello, World.')"
   onUnload="alert('Message from ' + window.name + ': I\'m closing')">
<B>Some numbers</B>
<UL><LI>one
<LI>two
<LI>three
<LI>four</UL>
</BODY>
</HTML>

Пример 2. Создание фрэймов. Создаются два окна, каждое из 4 фрэймов. В первом окне первый фрэйм содержит кнопки, которые изменяют цвет фона фрэймов в обоих окнах.

framset1.html, где определяются фрэймы первого окна, содержит следующий код:

<HTML>
<HEAD>
<TITLE>Frames and Framesets: Window 1</TITLE>
</HEAD>
<FRAMESET ROWS="50%,50%" COLS="40%,60%"
   onLoad="alert('Hello, World.')">
<FRAME SRC=framcon1.html NAME="frame1">
<FRAME SRC=framcon2.html NAME="frame2">
<FRAME SRC=framcon2.html NAME="frame3">
<FRAME SRC=framcon2.html NAME="frame4">
</FRAMESET>
</HTML>

framset2.html, где определяются фрэймы второго окна, содержит следующий код:

<HTML>
<HEAD>
<TITLE>Frames and Framesets: Window 2</TITLE>
</HEAD>
<FRAMESET ROWS="50%,50%" COLS="40%,60%">
<FRAME SRC=framcon2.html NAME="frame1">
<FRAME SRC=framcon2.html NAME="frame2">
<FRAME SRC=framcon2.html NAME="frame3">
<FRAME SRC=framcon2.html NAME="frame4">
</FRAMESET>
</HTML>

framcon1.html, где определяется содержимое первого фрэйма первого окна, содержит следующий код:

<HTML>
<BODY>
<A NAME="frame1"><H1>Frame1</H1></A>
<P><A href="./?f=framcon3.htm" target=frame2>Click here</A>
   to load a different file into frame 2.
<SCRIPT>
window2=open("framset2.htm","secondFrameset")
</SCRIPT>
<FORM>
<P><INPUT TYPE="button" VALUE="Change frame2 to teal"
   onClick="parent.frame2.document.bgColor='teal'">
<P><INPUT TYPE="button" VALUE="Change frame3 to slateblue"
   onClick="parent.frames[2].document.bgColor='slateblue'">
<P><INPUT TYPE="button" VALUE="Change frame4 to darkturquoise"
   onClick="top.frames[3].document.bgColor='darkturquoise'">
<P><INPUT TYPE="button" VALUE="window2.frame2 to violet"
   onClick="window2.frame2.document.bgColor='violet'">
<P><INPUT TYPE="button" VALUE="window2.frame3 to fuchsia"
   onClick="window2.frames[2].document.bgColor='fuchsia'">
<P><INPUT TYPE="button" VALUE="window2.frame4 to deeppink"
   onClick="window2.frames[3].document.bgColor='deeppink'">
</FORM>
</BODY>
</HTML>

framcon2.html, где определяется содержимое остальных фрэймов, содержит следующий код:

<HTML>
<BODY>
<P>This is a frame.
</BODY>
</HTML>

framcon3.html, на который ссылается объект Link в framcon1.html, содержит следующий код:

<HTML>
<BODY>
<P>This is a frame. What do you think?
</BODY>
</HTML>

См. также

document, Frame

alert

Выводит диалог Alert с сообщением и кнопкой OK.

Метод из | window
Реализован в | JavaScript 1.0

Синтаксис

alert(message)

Параметр

message

Строка.

Описание

Диалог alert выглядит так:

Используйте метод alert для отображения сообщения, которое не требует принятия пользователем решения. Аргумент message специфицирует текст сообщения.

Вы не можете специфицировать заголовок окна alert, но можете использовать метод open для создания Вашего собственного диалога alert. См. open.

Пример

Функция testValue проверяет имя введённое пользователем в Text-объект формы, чтобы гарантировать, что оно имеет не более 8 символов. Этот пример использует метод alert для предупреждения пользователя.

function testValue(textElement) {
   if (textElement.length > 8) {
      alert("Please enter a name that is 8 characters or less")
   }
}

Можно вызвать функцию testValue в обработчике onBlur объекта Text, как здесь:

Name: <INPUT TYPE="text" NAME="userName"
   onBlur="testValue(userName.value)">

См. также

window.confirm, window.prompt

atob

Декодирует строку данных, которая была кодировано по методу base-64.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

atob(encodedData)

Параметр

encodedData

Строка данных, созданная методом кодирования base-64.

Описание

Этот метод декодирует строку данных, которая была кодирована с использованием base-64. Например, метод window.btoa принимает бинарную строку в качестве параметра и возвращает строку, кодированную в base-64.

Вы можете использовать метод window.btoa для кодирования и передачи данных, а затем воспользоваться методом window.atob для декодирования. Например, Вы можете закодировать, передать и декодировать символы, такие как ASCII-значения с 0 по 31.

Пример

Кодируется и декодируется строка "Hello, world".

// кодируется строка

encodedData = btoa("Hello, world");

// строка декодируется

decodedData = atob(encodedData);

См. также

window.btoa

back

Отменяет последний шаг истории в любом фрэйме окна верхнего уровня; эквивалентно нажатию кнопки Back в браузере.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

back()

Параметры

Отсутствуют.

Описание

Вызов метода back эквивалентен нажатию кнопки Back в браузере. То есть back отменяет последний шаг в любом месте окна верхнего уровня, был ли он сделан в этом же или в другом фрэйме дерева фрэймов, загруженного из окна верхнего уровня. По контрасту, метод back объекта history переводит текущую историю окна или фрэйма на один шаг назад.

Например, рассмотрим следующий сценарий. Находясь во фрэйме Frame A, Вы нажимаете кнопку Forward для изменения содержимого фрэйма Frame A. Затем Вы переходите во Frame B и нажимаете кнопку Forward для изменения содержимого фрэйма Frame B. Если Вы затем перейдёте обратно во Frame A и вызовете FrameA.back(), содержимое фрэйма Frame B изменится (нажатие кнопки Back даст тот же эффект).

Если Вы хотите перейти именно во фрэйме Frame A, используйте FrameA.history.back().

Пример

Следующие специальные кнопки выполняют ту же операцию, что и кнопка Back браузера:

<P><INPUT TYPE="button" VALUE="< Go Back"
   onClick="history.back()">
<P><INPUT TYPE="button" VALUE="> Go Back"
   onClick="myWindow.back()">

См. также

window.forward, History.back

blur

Убирает фокус со специфицированного объекта.

Метод из | window
Реализован в | JavaScript 1.0

Синтаксис

blur()

Параметры

Отсутствуют.

Описание

Метод blur используется для удаления фокуса со специфицированного окна или фрэйма. Удаление фокуса из окна переводит окно на задний план в большинстве оконных операционных систем.

См. также

window.focus

btoa

Создаёт ASCII-строку, кодированную по системе base-64, из строковых или двоичных данных.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

btoa(stringToEncode)

Параметр

stringToEncode

Произвольная строка.

Описание

Этот метод принимает двоичную строку ASCII в качестве параметра и возвращает другую ASCII-строку, кодированную с использованием base-64.

Вы можете использовать этот метод для кодирования данных, которые могут иначе вызвать коммуникационные проблемы, передать их, а затем использовать метод window.atob для декодирования данных. Например, Вы можете кодировать такие символы, как значения ASCII от 0 до 31.

Примеры

См. window.atob.

См. также

window.atob

captureEvents

Устанавливает захват окном всех событий специфицированного типа.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

captureEvents(eventType1 [|eventTypeN...])

Параметр

eventType1... eventTypeN

Тип захватываемого события. Допустимые типы событий рассматриваются в Главе 3 "Обработчики Событий".

Безопасность

Если окно с фрэймами должно захватывать события на страницах, загружаемых с разных серверов, Вы должны использовать captureEvents в маркированном скрипте и предварительно вызвать enableExternalCapture. Вы обязаны иметь привилегию UniversalBrowserWrite. Дополнительно см. enableExternalCapture. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

captureEvents работает в паре с releaseEvents, routeEvent и handleEvent. Дополнительно см. Клиентский JavaScript. Руководство.

clearInterval

Отменяет таймаут, установленный методом setInterval.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

clearInterval(intervalID)

Параметр

intervalID

Установка таймаута, которая была возвращена предыдущим вызовом метода setInterval.

Описание

См. setInterval.

Примеры

См. setInterval.

См. также

window.setInterval

clearTimeout

Отменяет таймаут, установленный методом setTimeout.

Метод из | window
Реализован в | JavaScript 1.0

Синтаксис

clearTimeout(timeoutID)

Параметр

timeoutID

Установка таймаута, которая была возвращена предыдущим вызовом метода setTimeout.

Описание

См. setTimeout.

Примеры

См. setTimeout.

См. также

window.clearInterval, window.setTimeout

close

Закрывает специфицированное окно.

Метод из | window
Реализован в | JavaScript 1.0: закрывает любое окно. JavaScript 1.1: закрывает только окна, открытые JavaScript. JavaScript 1.2: должны использоваться маркированные скрипты для безусловного закрытия окна.

Синтаксис

close()

Параметры

Отсутствуют.

Безопасность

Для безусловного закрытия окна Вы должны иметь привилегию UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Метод close закрывает специфицированное окно. Если Вы вызываете close без специфицирования windowReference, JavaScript закрывает текущее окно.

Метод close закрывает только окна, открытые JavaScript с использованием метода open. Если Вы попытаетесь закрыть любое другое окно, генерируется диалог confirm, который предлагает подтвердить закрытие окна. Это сделано для предотвращения "mail bombs/почтовых бомб", содержащих self.close(). Однако, если окно содержит только один документ (текущий) в истории текущей сессии, метод close выполняется без подтверждения. Особый случай - с окнами one-off, которые должны открыть другие окна и только затем закрыться.

В обработчиках событий Вы обязаны специфицировать window.close() вместо close(). Учитывая область видимости static-объектов в JavaScript, вызов close() без специфицирования имени объекта эквивалентен document.close().

Примеры

Пример 1. Любая из следующих строк закрывает текущее окно:

window.close()
self.close()
close()

Пример 2: Закрытие главного окна браузера.

top.opener.close()

Пример 3. Здесь закрывается окно messageWin:

messageWin.close()

Предполагается, что окно было открыто примерно в такой манере:

messageWin=window.open("")

См. также

window.closed, window.open

closed

Специфицирует, закрыто ли окно.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.1

Описание

Свойство closed это Булево значение, которое специфицирует, закрыто ли окно. Когда окно закрывается, объект window, представляющий его, продолжает существовать, и его свойство closed устанавливается в true.

Используйте метод closed для определения, открыто ли в данный момент окно, которое Вы ранее открыли и на которое Вы имеете ссылку (из return-значения метода window.open). Если окно закрыто, Вы не должны пытаться манипулировать им.

Примеры

Пример 1. Следующий код открывает окно win1, затем позже проверяет, было ли оно закрыто. Вызываемая функция зависит от того, закрыто ли окно win1.

win1=window.open('opener1.html','window1','width=300,height=300')
...
if (win1.closed)
   function1()
   else
   function2()

Пример 2. Определяется, закрыто ли окно, открывшее текущее окно, и вызывается соответствующая функция.

if (window.opener.closed)
   function1()
   else
   function2()

См. также

window.close, window.open

confirm

Отображает диалоговое окно Confirm со специфицированным сообщением и кнопками OK и Cancel.

Метод из | window
Реализован в | JavaScript 1.0

Синтаксис

confirm(message)

Параметр

message

Строка.

Описание

Диалог confirm выглядит так:

Используйте confirm для запроса у пользователя решения, которое требует OK/подтверждения или Cancel/отмены. Аргумент message специфицирует текст сообщения. Метод confirm возвращает true, если нажата кнопка OK, и false, если нажата Cancel.

Вы не можете специфицировать заголовок окна confirm, но можете использовать метод open для создания Вашего собственного диалога confirm. См. open.

Пример

Метод confirm в функции confirmCleanUp используется для подтверждения закрытия приложения. Если пользователь выбрал OK, специальная функция cleanUp закрывает приложение.

function confirmCleanUp() {
   if (confirm("Are you sure you want to quit this application?")) {
      cleanUp()
   }
}

Вы можете вызвать функцию confirmCleanUp в обработчике onClick кнопки, как показано в этом примере:

<INPUT TYPE="button" VALUE="Quit" onClick="confirmCleanUp()">

См. также

window.alert, window.prompt

crypto

Объект, дающий доступ к возможностям шифрования в Navigator'е.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Объект crypto доступен только как свойство объекта window; он предоставляет доступ к методам, которые поддерживают возможности шифровки в Navigator'е.

См. также

window.crypto.random, window.crypto.signText

crypto.random

Возвращает псевдослучайную строку, размер которой равен специфицированному количеству байтов.

Метод из | window
Static |
Реализован в | JavaScript 1.2

Синтаксис

crypto.random(numberOfBytes)

Параметр

numberOfBytes

Количество байтов псевдослучайных данных, возвращаемых методом.

Описание

Этот метод генерирует произвольную строку данных, размер которой специфицируется параметром numberOfBytes.

Пример

Функция возвращает строку длиной 16 байт.

function getRandom() {
   return crypto.random(16)
}

См. также

Math.random

crypto.signText

Возвращает строку кодированных данных, которая представляет маркированный объект.

Метод из | window
Static |
Реализован в | JavaScript 1.2

Синтаксис

crypto.signText
   (text, selectionStyle [, authority1 [, ... authorityN]])

Параметры

text

Строка, вычисляемая в текст, который пользователь должен промаркировать.

selectionStyle

Строка, вычисляемая в:

  • ask специфицирует, что диалоговое окно предоставит пользователю список доступных сертификатов.
  • auto специфицирует, что Navigator автоматически выбирает сертификат из диапазона authority1 до authorityN.
authority1... authorityN

Строки по выбору, вычисляемые в Certificate Authorities, принимаемые сервером с использованием маркированного текста.

Описание

Метод signText спрашивает пользователя о проверке строки text путём присоединения к ней цифровой подписи. Если параметр selectionStyle установлен в ask, signText выводит диалог, и пользователь обязан интерактивно выбрать сертификат для проверки текста. Если selectionStyle is установлен в auto, Navigator пытается автоматически выбрать сертификат.

Используйте метод signText для отправки кодированной подписи на сервер; сервер декодирует подпись и проверяет её. Если signText терпит неудачу, он возвращает один из следующих error-кодов:

  • error:noMatchingCert - пользовательский сертификат не соответствует ни одному из сертификатов, требуемых в диапазоне от authority1 до authorityN..
  • error:userCancel - пользователь отменил диалоговое окно подписи без отправки сертификата.
  • error:internalError - возникла внутренняя ошибка.

defaultStatus

Сообщение по умолчанию, выводимое в статусной строке в нижней части окна.

Свойство из | window
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Сообщение defaultStatus появляется, если в статусной строке ничего больше нет. Не путайте свойство defaultStatus со свойством status. Свойство status отражает приоритетное или временной сообщение в статусной строке, такое как при возникновении события mouseOver при проведении указателя мыши над якорем.

Вы можете установить свойство defaultStatus в любое время. Вы обязаны возвращать true, если хотите устанавливать свойство defaultStatus в обработчиках onMouseOut или onMouseOver.

Пример

Функция statusSetter устанавливает свойства status и defaultStatus в обработчике onMouseOver:

function statusSetter() {
   window.defaultStatus = "Click the link for the Netscape home page"
   window.status = "Netscape home page"
}
<A href="http://home.netscape.com"
   onMouseOver = "statusSetter(); return true">Netscape</A>

Заметьте, что в это примере обработчик onMouseOver возвращает true. Вы обязаны возвращать true, если хотите устанавливать defaultStatus и status в обработчиках событий.

См. также

window.status

disableExternalCapture

Отменяет захват внешних событий, установленный методом enableExternalCapture.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

disableExternalCapture()

Параметры

Отсутствуют.

Описание

См. enableExternalCapture.

document

Содержит информацию о текущем документе и предоставляет методы для отображения пользователю HTML-вывода.

Свойство из | window
Реализовано в | JavaScript 1.0

Описание

Значением этого свойства является ассоциированный объект document окна.

enableExternalCapture

Позволяет окну с фрэймами захватывать события на страницах, загружаемых из других location (серверов).

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

enableExternalCapture()

Параметры

Отсутствуют.

Описание

Используйте этот метод в маркированном скрипте, запрашивающем привилегии UniversalBrowserWrite, и перед вызовом метода captureEvents.

Если Communicator видит дополнительные скрипты, которые ухудшают работу действующих принципалов контейнера, он отключает захват внешних событий. Дополнительные вызовы enableExternalCapture (после получения привилегии UniversalBrowserWrite при уменьшенном наборе принципалов) могут выполняться для возобновления захвата внешних событий.

Пример

Окно может захватывать все события Click, возникающие в его фрэймах.

<SCRIPT ARCHIVE="myArchive.jar" ID="2">
function captureClicks() {
   netscape.security.PrivilegeManager.enablePrivilege(
      "UniversalBrowserWrite");
   enableExternalCapture();
   captureEvents(Event.CLICK);
   ...
}
</SCRIPT>

См. также

window.disableExternalCapture, window.captureEvents

find

Находит специфицированную текстовую строку в содержимом специфицированного окна.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

find([string[, caseSensitive, backward]])

Параметры

string

Искомая текстовая строка.

caseSensitive

Булево значение. Если true, специфицирует поиск с учётом регистра символов. Если Вы предоставляете этот параметр, Вы обязаны также задать значение для backward.

backward

Булев. Если true, специфицирует поиск в обратном направлении (снизу вверх по документу). Если Вы предоставляете этот параметр, Вы обязаны также задать значение для casesensitive.

Возвращает

true, если строка найдена; иначе - false.

Описание

Когда string специфицирован, браузер выполняет поиск сверху вниз без учёта регистра символов. Если параметр string не специфицирован, метод выводит диалог Find, позволяющий пользователю ввести строку для поиска.

focus

Передаёт фокус специфицированному объекту.

Метод из | window
Реализован в | JavaScript 1.1

Синтаксис

focus()

Параметры

Отсутствуют.

Описание

Используйте метод focus для перехода к специфицированному окну или фрэйму и передаче ему фокуса. Передача фокуса окну переводит его на передний план в большинстве оконных операционных систем.

В JavaScript 1.1, на некоторых платформах, метод focus передаёт фокус фрэйму, но этот фокус визуально не проявляется (например, рамка фрэйма не темнеет).

Примеры

Функция checkPassword подтверждает, что пользователь ввёл верный пароль. Если введён неправильный пароль, метод focus возвращает фокус объекту Password, а метод select выделяет его, чтобы пользователь мог повторно ввести пароль.

function checkPassword(userPass) {
   if (badPassword) {
      alert("Please enter your password again.")
      userPass.focus()
      userPass.select()
   }
}

Предполагается, что объект Password определён так:

<INPUT TYPE="password" NAME="userPass">

См. также

window.blur

forward

Переводит браузер к следующему URL в текущем списке history; эквивалентно нажатию кнопки Forward в браузере.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

history.forward()
forward()

Параметры

Отсутствуют.

Описание

Этот метод выполняет такое же действие, что нажатие кнопки Forward в браузере. Метод forward эквивалентен history.go(1).

При использовании с объектом Frame, forward работает так: во фрэйме Frame A вы нажимаете кнопку Back для изменения содержимого фрэйма Frame A. Затем переходите во фрэйм Frame B и нажимаете кнопку Back для изменения содержимого фрэйма Frame B. Если Вы перейдёте обратно в Frame A и вызовете FrameA.forward(), изменится содержимое фрэйма Frame B (нажатие кнопки Forward даст тот же эффект). Если Вы хотите перейти во фрэйме Frame A, используйте FrameA.history.forward().

Примеры

Следующая кнопка выполняет то же действие, что и кнопка Forward браузера:

<P><INPUT TYPE="button" VALUE="< Go Forth"
   onClick="history.forward()">
<P><INPUT TYPE="button" VALUE="> Go Forth"
   onClick="myWindow.forward()">

См. также

window.back

frames

Массив объектов, соответствующих дочерним фрэймам (созданных тэгами FRAME) в порядке расположения в исходном коде.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.0

Вы можете обратиться к дочерним фрэймам окна, используя массив frames. Этот массив содержит вхождения для всех дочерних фрэймов (созданных тэгами FRAME) в окне, содержащем тэг FRAMESET; вхождения расположены в порядке исходного кода. Например, если окно содержит три фрэйма со значениями атрибутов NAME fr1, fr2 и fr3, Вы можете обратиться к этим объектам в массиве images так:

parent.frames["fr1"]
parent.frames["fr2"]
parent.frames["fr3"]

или так:

parent.frames[0]
parent.frames[1]
parent.frames[2]

Можно определить общее количество дочерних фрэймов окна через свойство length в самом window или в массиве frames.

Значение каждого элемента массива frames равно <object nameAttribute>, где nameAttribute это атрибут NAME данного фрэйма.

handleEvent

Вызывает обработчик для специфицированного события.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

handleEvent(event)

Параметр

event

Имя события, для которого специфицированный объект имеет обработчик.

Описание

handleEvent работает в паре с captureEvents, releaseEvents и routeEvent. Дополнительно см. Клиентский JavaScript. Руководство.

history

Содержит информацию о URL, которые клиент посетил в окне.

Свойство из | window
Реализовано в | JavaScript 1.1

Описание

Значением этого свойства является ассоциированный объект History окна.

home

Переводит браузер на URL, специфицированный в настройках как домашняя страница пользователя; эквивалентно нажатию пользователем кнопки Home браузера.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

home()

Параметры

Отсутствуют.

Описание

Этот метод выполняет то же действие, что и при нажатии в браузере кнопки Home.

innerHeight

Специфицирует вертикальные размеры в пикселах области содержимого окна.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Для создания окна размером менее 100 x 100 пикселов установите это свойство в маркированном скрипте.

Безопасность

Для установки внутренней высоты окна размером менее 100 x 100 или больше, чем экран может вместить, Вам необходима привилегия UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

window.innerWidth, window.outerHeight, window.outerWidth

innerWidth

Специфицирует горизонтальные размеры в пикселах области содержимого окна.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Для создания окна размером менее 100 x 100 пикселов установите это свойство в маркированном скрипте.

Безопасность

Для установки внутренней ширины окна размером менее 100 x 100 или больше, чем экран может вместить, Вам необходима привилегия UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

window.innerHeight, window.outerHeight, window.outerWidth

length

Количество дочерних фрэймов окна.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Это свойство даст тот же результат, что и свойство length массива frames.

location

Содержит информацию о текущем URL.

Свойство из | window
Реализовано в | JavaScript 1.0

Описание

Значением этого свойства является ассоциированный объект Location окна.

locationbar

Представляет адресную строку окна браузера (область, содержащую области закладки и URL).

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Само значение свойства locationbar имеет свойство visible. Если оно true, адресная строка видна; если false, она скрыта.

Безопасность

Установка значения свойства visible адресной строки требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Пример

Следующий пример создаёт окно "chromeless" (в окне chromeless отсутствуют панель утилит, полосы прокрутки, статусные области и т.д., как в диалоговом окне), пряча большую часть панелей пользовательского интерфейса:

self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;

menubar

Представляет строку меню окна. Эта область содержит ниспадающие меню браузера, такие как File, Edit, View, Go, Communicator и т.д.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Значение свойства menubar само имеет свойство visible. Если оно true, строка меню видна; если false, меню скрыто.

Безопасность

Установка значения свойства visible строки меню требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Примеры

Следующий пример создаёт окно "chromeless" (в окне chromeless отсутствуют панель утилит, полосы прокрутки, статусные области и т.д., как в диалоговом окне), пряча большую часть панелей пользовательского интерфейса:

self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;

moveBy

Перемещает окно относительно его текущей позиции на специфицированное количество пикселов.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

moveBy(horizontal, vertical)

Параметры

horizontal

Количество пикселов, на которое окно перемещается по горизонтали.

vertical

Количество пикселов, на которое окно перемещается по вертикали.

Описание

Этот метод перемещает окно, прибавляя или вычитая специфицированное количество пикселов к текущему положению.

Безопасность

Выход за пределы одной из границ экрана (и скрытие части или всего окна) требует маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана. Для этого необходимо иметь привилегию UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Пример

Чтобы переместить текущее окно на 5 пикселов вверх (ось x) и на 10 пикселов вправо (ось у) от текущей позиции, используйте такой оператор:

self.moveBy(-5,10); // относительное позиционирование

См. также

window.moveTo

moveTo

Перемещает верхний левый угол окна на специфицированные координаты экрана.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

moveTo(x-coordinate, y-coordinate)

Параметры

x-coordinate

Левый край окна в координатах экрана.

y-coordinate

Верхний край окна в координатах экрана.

Описание

Этот метод перемещает окно в абсолютное положение, указанное его параметрами (в пикселах). Начало отсчёта по осям ведётся от абсолютной позиции (0,0); это верхний левый угол экрана монитора.

Безопасность

Выход за пределы одной из границ экрана (и скрытие части или всего окна) требует маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана. Для этого необходимо иметь привилегию UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Пример

Для перемещения текущего окна на 25 пикселов от верхней границы экрана (ось x) и на 10 пикселов от левого края экрана (ось y) используйте такой оператор:

self.moveTo(25,10); // абсолютное позиционирование

См. также

window.moveBy

name

Строка, специфицирующая имя окна.

Свойство из | window
Только для чтения (2.0); Изменяемое (в более поздних версиях)
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

В JavaScript 1.0 NAME было свойством только для чтения/read-only. В последующих версиях это свойство может изменяться Вашим кодом. Это даёт возможность присваивать имя окну верхнего уровня.

Пример

Первый оператор создаёт окно netscapeWin. Второй оператор выводит значение "netscapeHomePage" в диалоге Alert, поскольку "netscapeHomePage" является значением аргумента windowName окна netscapeWin.

netscapeWin=window.open("http://home.netscape.com","netscapeHomePage")
alert(netscapeWin.name)

offscreenBuffering

Специфицирует, выполняются ли обновления окна в offscreen-буфере.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

По умолчанию Navigator автоматически определяет, выполняются ли обновления окна в offscreen-буфере, а затем отображаются в окне. Вы можете либо полностью отключить буферизацию, либо "потребовать" от Navigator'а буферизовать обновления, установив в offscreenBuffering значение false или true, соответственно.

Буферизация может уменьшить мигание экрана, которое возникает при обновлении окна, но это требует дополнительных системных ресурсов.

open

Открывает новое окно web-браузера.

Метод из | window
Реализован в | JavaScript 1.0 JavaScript 1.2: добавлено несколько новых windowFeatures.

Синтаксис

open(URL, windowName[, windowFeatures])

Параметры

URL

Строка, специфицирующая URL для открытия в новом окне. См. в Location описание компонентов URL.

windowName

Строка, специфицирующая имя окна, используемое в атрибуте TARGET тэга FORM или A. windowName может содержать только алфавитные символы, цифры и знак подчёркивания (_).

windowFeatures

Строка, специфицирующая список (с разделёнием запятыми), в которой определяется, создавать или нет различные стандартные параметры окна. Эти опции рассматриваются в следующем разделе.

Описание

В обработчиках событий Вы обязаны специфицировать window.open() вместо open(). Из-за ограничений области видимости static-объектов JavaScript, вызов open() без специфицирования имени объекта эквивалентен document.open().

Метод open открывает новое окно Web-браузера на стороне клиенте, что аналогично выбору меню New->Navigator Window из File. Аргумент URL специфицирует URL - содержимое нового окна. Если URL это пустая строка, создаётся новое пустое окно.

Вы можете использовать метод open в существующем окне, и, если Вы передаёте в качестве URL пустую строку, Вы получите ссылку на существующее окно, но не загрузите в него ничего. Вы можете, например, найти свойства в окне.

windowFeatures это строка по выбору/optional, содержащая список разделённых запятыми опций нового окна (не включайте в список пробелы). После открытия окна вы не сможете использовать JavaScript для изменения windowFeatures. Вы можете специфицировать:

Таблица 1.4 Опции, специфицируемые для вновь открываемого окна
windowFeatures Описание
alwaysLowered

(JavaScript 1.2) Если yes, создаётся новое окно, которое всплывает ниже других окон, независимо от того, активно оно или нет. Это секретная опция и она обязана устанавливаться в маркированных скриптах.

alwaysRaised

(JavaScript 1.2) Если yes, создаётся новое окно, которое всплывает выше других окон, независимо от того, активно оно или нет. Это секретная опция и она обязана устанавливаться в маркированных скриптах.

dependent

(JavaScript 1.2) Если yes, создаётся новое окно - потомок текущего окна. Зависимое окно закрывается, если закрывается его окно-родитель. На платформе Windows зависимое окно не появляется на панели задач.

directories

Если yes, создаются стандартные кнопки директорий браузера, такие как What's New и What's Cool.

height

(JavaScript 1.0 и 1.1) Специфицирует высоту окна в пикселах.

hotkeys

(JavaScript 1.2) Если no (или 0), отключает большинство горячих клавиш в новом окне, которое не имеет строки меню. Комбинации security и quit продолжают функционировать.

innerHeight

(JavaScript 1.2) Специфицирует высоту области содержимого окна в пикселах. Для создания окна размером менее 100 x 100 пикселов установите это свойство в маркированном скрипте. Это свойство заменило height, которое оставлено для обеспечения обратной совместимости.

innerWidth

(JavaScript 1.2) Специфицирует ширину области содержимого окна в пикселах. Для создания окна размером менее 100 x 100 пикселов установите это свойство в маркированном скрипте. Это свойство заменило width, которое оставлено для обеспечения обратной совместимости.

location

Если yes, создаёт поле ввода Location.

menubar

Если yes, создаёт строку меню в верхней части окна.

outerHeight

(JavaScript 1.2) Специфицирует размер по вертикали в пикселах внешней границы окна. Для создания окна размером менее 100 x 100 пикселов установите это свойство в маркированном скрипте.

personalbar

(JavaScript 1.2) Если yes, создаёт панель Personal Toolbar, которая отображает кнопки из пользовательской папки закладок Personal Toolbar.

resizable

Если yes, даёт пользователю возможность изменять размеры окна.

screenX

(JavaScript 1.2) Специфицирует расстояние, на котором новое окно помещается от левого края экрана. Для помещения окна за пределы экрана/offscreen установите эту опцию в помеченном скрипте.

screenY

(JavaScript 1.2) Специфицирует расстояние, на котором новое окно помещается от верха экрана. Для помещения окна за пределы экрана/offscreen установите эту опцию в помеченном скрипте.

scrollbars

Если yes, создаются вертикальная и горизонтальная полосы прокрутки, если Документ становится больше размеров окна.

status

Если yes, создаётся статусная строка внизу окна.

titlebar

(JavaScript 1.2) Если yes, создаётся окно со строкой заголовка. Для установки titlebar в no, установите эту опцию в маркированном скрипте.

toolbar

Если yes, создаётся стандартная панель браузера с кнопками, такими как Back и Forward.

width

(JavaScript 1.0 и 1.1) Специфицирует ширину окна в пикселах.

z-lock

(JavaScript 1.2) Если yes, создаётся новое окно, которое не перекрывает другие окна при его активации. Это секретная опция и она обязана устанавливаться в маркированных скриптах.

Многие из этих опций (как указано выше) могут иметь значение yes или no. Для этих опций можно использовать 1 вместо yes и 0 вместо no. Если Вы хотите включить опцию, Вы можете просто указать имя опции в строке windowFeatures.

Если windowName не специфицирует существующее окно и Вы не предоставляете параметр windowFeatures, все опции, имеющие выбор yes/no, устанавливаются по умолчанию в yes. Однако, если Вы предоставляете параметр windowFeatures, то опции titlebar и hotkeys останутся yes по умолчанию, но другие опции, имеющие выбор yes/no, будут по умолчанию no.

Например, все следующие операторы включают опцию toolbar и отключают все другие Булевы опции:

open("", "messageWindow", "toolbar")
open("", "messageWindow", "toolbar=yes")
open("", "messageWindow", "toolbar=1")

Следующий оператор включает опции location и directories и отключает все остальные Булевы опции:

open("", "messageWindow", "toolbar,directories=yes")

Однако поведение опций alwaysLowered, alwaysRaised и z-lock зависит от иерархии окон на конкретной платформе. Например, в Windows окно браузера alwaysLowered или z-locked находится ниже всех остальных окон всех приложений. В Macintosh окно браузера alwaysLowered находится ниже остальных окон, но не обязательно ниже окон других приложений. Аналогично для окон alwaysRaised.

Вы можете использовать open для открытия нового окна, а затем - в этом новом окне - для открытия другого окна, и так далее. Таким способом Вы можете составить цепочку открытых окон, каждое из которых имеет свойство opener, указывающее на окно, открывшее данное окно.

Communicator допускает максимум 100 открытых окон. Если Вы открыли окно window2 из окна window1 и затем завершили работу с window1, установите свойство opener окна window2 в null. Это позволит JavaScript убрать мусор - окно window1. Если Вы не установите свойство opener в null, объект window1 останется, даже если он реально уже не нужен.

Безопасность

Для выполнения следующих операций Вам нужно иметь привилегию UniversalBrowserWrite:

  • Для создания окна размером менее 100 x 100 пикселов или больше, чем экран может вместить, с помощью innerWidth, innerHeight, outerWidth и outerHeight.
  • Для перемещения окна за пределы экран с использованием screenX и screenY.
  • Для создания окна без строки заголовка/titlebar с использованием titlebar.
  • Для использования alwaysRaised, alwaysLowered или z-lock для любых установок.

О безопасности см. книгу Клиентский JavaScript. Руководство.

Примеры

Пример 1. Функция windowOpener открывает окно и использует методы write для вывода сообщения:

function windowOpener() {
   msgWindow=window.open("","displayWindow","menubar=yes")
   msgWindow.document.write
      ("<HEAD><TITLE>Message window</TITLE></HEAD>")
   msgWindow.document.write
      ("<CENTER><BIG><B>Hello, world!</B></BIG></CENTER>")
}

Пример 2. Это обработчик onClick, который открывает новое клиентское окно, выводя содержимое, специфицированное в файле sesame.html. Окно открывается со специфицированными установками опций; все другие опции будут false, поскольку не специфицированы.

<FORM NAME="myform">
<INPUT TYPE="button" NAME="Button1" VALUE="Open Sesame!"
   onClick="window.open ('sesame.html', 'newWin',
   'scrollbars=yes,status=yes,width=300,height=300')">
</FORM>

См. также

window.close

opener

Специфицирует окно вызывающего документа, если окно открывается методом open.

Свойство из | window
Реализовано в | JavaScript 1.1

Описание

Если исходный документ открывает целевое окно методом open, свойство opener специфицирует окно исходного документа. Вычисляйте свойство opener целевого окна.

Это свойство существует до выгрузки документа в открытом окне.

Вы можете изменить свойство opener в любое время.

Можно использовать window.open для открытия нового окна, а затем использовать window.open для открытия другого окна, и так далее. Таким способом Вы можете составить цепочку открытых окон, каждое из которых имеет свойство opener, указывающее на окно, открывшее данное окно.

Communicator допускает максимум 100 открытых окон. Если Вы открыли окно window2 из окна window1 и затем завершили работу с window1, установите свойство opener окна window2 в null. Это позволит JavaScript убрать мусор - окно window1. Если Вы не установите свойство opener в null, объект window1 останется, даже если он реально уже не нужен.

Примеры

Пример 1: Закрытие opener'а. Этот код закрывает окно, которое открыло текущее окно. Если opener-окно закрывается, opener остаётся без изменений. Однако window.opener.name вычисляется теперь в undefined.

window.opener.close()

Пример 2: Закрытие главного окна браузера.

top.opener.close()

Пример 3: Вычисление имени opener'а. Окно может определить имя своего opener'а так:

document.write("<BR>opener property is " + window.opener.name)

Пример 4: Изменение значения opener. Этот код изменяет значение свойства opener в null. После выполнения этого кода вы не сможете закрыть opener-окно так, как это делается в Примере 1.

window.opener=null

Пример 5: Изменение значения свойства через opener. Изменяется цвет фона окна, специфицированного свойством opener.

window.opener.document.bgColor='bisque'

См. также

window.close, window.open

outerHeight

Специфицирует вертикальный размер в пикселах внешней границы окна.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Внешняя граница включает полосы прокрутки, статусную строку, панели toolbars и другой "chrome" (элементы пользовательского интерфейса рамки окна). Для создания окна размером менее 100 x 100 пикселов, установите это свойство в маркированном скрипте.

См. также

window.innerWidth, window.innerHeight, window.outerWidth

outerWidth

Специфицирует горизонтальный размер в пикселах внешней границы окна.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Внешняя граница включает полосы прокрутки, статусную строку, панели toolbar и другой "chrome" (элементы пользовательского интерфейса рамки окна). Для создания окна размером менее 100 x 100 пикселов, установите это свойство в маркированном скрипте.

См. также

window.innerWidth, window.innerHeight, window.outerHeight

pageXOffset

Предоставляет текущую x-позицию в пикселах видимой страницы окна.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Свойство pageXOffset предоставляет текущую x-позицию страницы относительно верхнего левого угла области содержимого окна. Это свойство используется, если Вам необходимо найти текущую позицию прокручиваемой страницы перед использованием scrollTo или scrollBy.

Пример

Этот пример возвращает x-позицию видимой страницы.

x = myWindow.pageXOffset

См. также

window.pageYOffset

pageYOffset

Предоставляет текущую у-позицию в пикселах видимой страницы окна.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.2

Описание

Свойство pageYOffset предоставляет текущую у-позицию страницы относительно верхнего левого угла области содержимого окна. Это свойство используется, если Вам необходимо найти текущую позицию прокручиваемой страницы перед использованием scrollTo или scrollBy.

Пример

Этот пример возвращает у-позицию видимой страницы.

x = myWindow.pageYOffset

См. также

window.pageXOffset

parent

Свойство parent это окно или фрэйм, чей frameset/набор фрэймов содержит текущий фрэйм.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Это свойство имеет смысл только для фрэймов; то есть для окон, которые не являются окнами верхнего уровня.

Свойство parent ссылается на тэг FRAMESET окна фрэйма. Дочерние фрэймы в данном frameset ссылаются на родственные фрэймы через использование parent вместо имени окна одним из следующих способов:

parent.frameName
parent.frames[index]

Например, если четвёртый фрэйм набора имеет NAME="homeFrame", фрэймы-родственники могут ссылаться на этот фрэйм через использование parent.homeFrame или parent.frames[3].

Вы можете использовать parent.parent для обращения к фрэйму или окну-"дедушке", если тэг FRAMESET вложен в дочерний фрэйм.

Значением свойства parent является

<object nameAttribute>

где nameAttribute это атрибут NAME, если родитель является фрэймом, или внутренняя ссылка, если родителем является окно.

Примеры

См. примеры для Frame.

personalbar

Представляет персональную панель окна браузера (называемую также панелью директорий). Эту область пользователь может использовать для быстрого доступа к определённым закладкам.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Значение свойства personalbar само имеет свойство visible. Если оно true, персональная панель отображается; если false, панель скрыта.

Безопасность

Установка значения свойства visible персональной панели требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Пример

Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панелей toolbars, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:

self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;

print

Печатает содержимое окна.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

print()

Параметры

Отсутствуют.

prompt

Выводит диалог Prompt с сообщением и полем для ввода.

Метод из | window
Реализован в | JavaScript 1.0

Синтаксис

prompt(message[, inputDefault])

Параметры

message

Строка - текст сообщения.

inputDefault

Строка или целое число представляющее значение по умолчанию поля ввода.

Описание

Диалог prompt выглядит так:

Используйте метод prompt для вывода диалогового окна, принимающего ввод от пользователя. Если Вы не специфицируете начальное значение для inputDefault, диалог показывает <undefined>.

Вы не можете специфицировать заголовок диалога prompt, но можете использовать метод open для создания Вашего собственного prompt-диалога. См. open.

Примеры

prompt("Enter the number of cookies you want to order:", 12)

См. также

window.alert, window.confirm

releaseEvents

Устанавливает освобождение объектами window или document захваченных событий специфицированного типа, отправляя событие следующим объектам по иерархии событий.

Метод из | window
Реализован в | JavaScript 1.2

ПРИМЕЧАНИЕ: Если первоначальной целью/target события является окно, это окно получает событие, даже если оно имеет установку освобождать события этого типа.

Синтаксис

releaseEvents(eventType1 [|eventTypeN...])

Параметр

eventType1... eventTypeN

Тип захватываемых событий. Типы событий рассматриваются в Главе 3, "Обработчики Событий".

Описание

releaseEvents работает вместе с captureEvents, routeEvent и handleEvent. Дополнительно см. Клиентский JavaScript. Руководство.

resizeBy

Изменяет размеры всего окна, перемещая нижний правый угол окна на специфицированные величины.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

resizeBy(horizontal, vertical)

Параметры

horizontal

Количество пикселов, на которое окно изменяет размер по горизонтали.

vertical

Количество пикселов, на которое окно изменяет размер по вертикали.

Описание

Этот метод изменяет размеры окна через установку свойств outerWidth и outerHeight. Верхний левый угол остаётся на месте, а нижний правый угол перемещается.
resizeBy перемещает окно, прибавляя или вычитая специфицированное количество пикселов к координатам текущей позиции правого нижнего угла.

Безопасность

Выход за любую границу экрана (для скрытия части или всего окна) требует маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана. Кроме того, окна имеют форсированный минимальный размер 100 x 100 пикселов; изменение размеров окна меньше этого минимума требует маркированного JavaScript. Для этого Вам нужна привилегия UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Пример

Чтобы сделать текущее окно на 5 пикселов уже и на 10 пикселов выше, используйте такой оператор:

self.resizeBy(-5,10); // относительное позиционирование

См. также

window.resizeTo

resizeTo

Изменяет размеры всего окна.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

resizeTo(outerWidth, outerHeight)

Параметры

outerWidth

Целое число - ширина окна в пикселах.

outerHeight

Целое число - высота окна в пикселах.

Описание

Этот метод изменяет размеры окна, устанавливая его свойства outerWidth и outerHeight. Верхний левый угол остаётся на месте, а правый нижний угол перемещается.
resizeBy перемещает на специфицированную позицию. Началом осей является абсолютная позиция (0,0); это левый верхний угол дисплея.

Безопасность

Выход за любую границу экрана (для скрытия части или всего окна) требует маркированного JavaScript, иначе окно не будет перемещаться за пределы экрана. Кроме того, окна имеют форсированный минимальный размер 100 x 100 пикселов; изменение размеров окна меньше этого минимума требует маркированного JavaScript. Для этого Вам нужна привилегия UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Примеры

Чтобы сделать окно шириной 225 пикселов и высотой 200 пикселов, используйте этот оператор:

self.resizeTo(225,200); // абсолютное позиционирование

См. также

window.resizeBy

routeEvent

Передаёт захваченное событие по нормальной цепи иерархии.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

routeEvent(event)

Параметр

event

Имя перенаправляемого события.

Описание

Если субобъект (document или layer) также захватывает событие, событие посылается этому объекту. Иначе оно посылается своей изначальной цели.

routeEvent работает вместе с captureEvents, releaseEvents и handleEvent. Дополнительно см. Клиентский JavaScript. Руководство.

screenX

Специфицирует x-координату левого угла окна.

Свойство из | window
Реализовано в | JavaScript 1.2

Безопасность

Установка значения свойства screenX требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

window.screenY

screenY

Специфицирует y-координату верхнего угла окна.

Свойство из | window
Реализовано в | JavaScript 1.2

Безопасность

Установка значения свойства screenY требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

См. также

window.screenX

scroll

Прокручивает окно до специфицированных координат.

Метод из | window
Реализован в | JavaScript 1.1 JavaScript 1.2: не рекомендуется.

Описание

В JavaScript 1.2, scroll больше не используется и заменён на scrollTo.
scrollTo расширяет возможности метода scroll.
scroll оставлен для обеспечения обратной совместимости.

scrollbars

Представляет вертикальную и горизонтальную полосы прокрутки окна браузера для области документа.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Значение свойства scrollbars само имеет свойство visible. Если оно true, видны обе полосы прокрутки; если false, они скрыты.

Безопасность

Установка значения свойства visible полос прокрутки требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Примеры

Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панелей toolbar, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:

self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;

scrollBy

Прокручивает область просмотра окна на специфицированную величину.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

scrollBy(horizontal, vertical)

Параметры

horizontal

Количество пикселов, на которое область просмотра прокручивается по горизонтали.

vertical

Количество пикселов, на которое область просмотра прокручивается по вертикали.

Описание

Этот метод прокручивает содержимое окна, если часть содержимого находится за пределами окна.
scrollBy прокручивает окно, добавляя или вычитая специфицированное количество пикселов относительно текущей позиции.

Чтобы этот метод работал, свойство visible для опции window.scrollbars обязано быть true.

Пример

Для прокрутки текущего окна на 5 пикселов влево и на 30 пикселов вниз от текущей позиции, используйте:

self.scrollBy(-5,30); // относительное позиционирование

См. также

window.scrollTo

scrollTo

Прокручивает область просмотра окна таким образом, что специфицированная точка становится левым верхним углом.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

scrollTo(x-coordinate, y-coordinate)

Параметры

x-coordinate

Целое число, представляющее x-координату области просмотра в пикселах.

y-coordinate

Целое число, представляющее у-координату области просмотра в пикселах.

Описание

scrollTo заменил scroll. scroll оставлен для обеспечения обратной совместимости.

Метод scrollTo прокручивает содержимое окна, если имеются невидимые части за пределами окна. Чтобы этот метод работал, свойство visible для опции window.scrollbars обязано быть true.

Примеры

Пример 1: Прокрутка текущей области просмотра. Для прокрутки окна к левой границе и на 20 пикселов вниз от верха окна, используйте этот оператор:

self.scrollTo(0,20); // абсолютное позиционирование

Пример 2: Прокрутка другой области просмотра. Это код, расположенный в одном фрэйме, прокручивает область просмотра другого фрэйма. Два объекта Text дают пользователю возможность специфицировать координаты x и y. если пользователь щёлкает по кнопке Go, документ в frame2 прокручивается на специфицированные координаты.

<SCRIPT>
function scrollIt(form) {
   var x = parseInt(form.x.value)
   var y = parseInt(form.y.value)
   parent.frame2.scrollTo(x, y)
}
</SCRIPT>
<BODY>
<FORM NAME="myForm">
<P><B>Specify the coordinates to scroll to:</B>
<BR>Horizontal:
<INPUT TYPE="text" NAME=x VALUE="0" SIZE=4>
<BR>Vertical:
<INPUT TYPE="text" NAME=y VALUE="0" SIZE=4>
<BR><INPUT TYPE="button" VALUE="Go"
   onClick="scrollIt(document.myForm)">
</FORM>

См. также

window.scrollBy

self

Свойство self это синоним текущего окна.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Свойство self ссылается на текущее окно. То есть значение этого свойства является синонимом самого объекта.

Используйте свойство self для устранения неоднозначности свойства window при вызове из формы или элемента формы с тем же именем. Вы можете также использовать свойство self, для того чтобы сделать Ваш код более читабельным.

Значением свойства self является

<object nameAttribute>

где nameAttribute это атрибут NAME, если self ссылается на фрэйм, или внутренняя ссылка, если self ссылается на окно.

Пример

В этом примере self.status используется для установки свойства status текущего окна. Такое использование устраняет неоднозначность свойства status текущего окна при вызове из формы или элемента формы с названием status внутри текущего окна.

<A href="./?f="
   onClick="this.href=pickRandomURL()"
   onMouseOver="self.status='Pick a random URL' ; return true">
Go!</A>

setHotKeys

Включает или отключает "горячие клавиши" в данном окне, которое не имеет меню.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

setHotKeys(trueOrFalse)

Параметр

trueOrFalse

Булево значение, специфицирующее включение горячих клавиш:

  • true включает
  • false отключает

Безопасность

Для включения/отключения горячих клавиш Вам нужно иметь привилегию UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

По умолчанию горячие клавиши отключены в окне, в котором отсутствует меню. С помощью метода setHotKeys вы можете явным образом включать/отключать все горячие клавиши, за исключением security и quit, которые всегда включены.

Можно также специфицировать включение горячих клавиш во время создания окна, если используется метод window.open.

См. также

window.open

setInterval

Вычисляет выражение или вызывает функцию каждый раз при истечении специфицированного количества миллисекунд, пока не будет отменён вызовом метода clearInterval.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

setInterval(expression, msec)
setInterval(function, msec[, arg1[, ..., argN]])

Параметры

function

Любая функция.

expression

Строка, содержащая выражение JavaScript. Это выражение обязано быть заключено в кавычки; иначе setInterval вызывает его немедленно. Например, setInterval("calcnum(3, 2)", 25).

msec

Числовое значение или строка цифр, в миллисекундах.

arg1, ..., argn

Аргументы, если имеются, передаваемые в function.

Описание

Таймаут работает до момента уничтожения ассоциированного окна или фрэйма или до отмены интервала методом clearInterval.

setInterval не нарушает выполнение скрипта. Скрипт продолжается сразу после выполнения метода (не ожидая повторения интервала). Его вызов просто откладывает будущее событие.

Пример

Этот код отображает текущее время в объекте Text. В функции startclock вызов метода setInterval заставляет вызывать функцию showtime каждую секунду для обновления показаний часов. Заметьте, что функция startclock и метод setInterval вызываются только один раз каждый.

<SCRIPT LANGUAGE="JavaScript">
var timerID = null
var timerRunning = false

function stopclock(){
   if(timerRunning)
      clearInterval(timerID)
   timerRunning = false
}
function startclock(){
   // Убедиться, что часы остановлены
   stopclock()
   timerID = setInterval("showtime()",1000)
   timerRunning = true
}

function showtime(){
   var now = new Date()
   var hours = now.getHours()
   var minutes = now.getMinutes()
   var seconds = now.getSeconds()
   var timeValue = "" + ((hours > 12) ? hours - 12 : hours)
   timeValue += ((minutes < 10) ? ":0" : ":") + minutes
   timeValue += ((seconds < 10) ? ":0" : ":") + seconds
   timeValue += (hours >= 12) ? " P.M." : " A.M."
   document.clock.face.value = timeValue
}
</SCRIPT>

<BODY onLoad="startclock()">
<FORM NAME="clock" onSubmit="0">
   <INPUT TYPE="text" NAME="face" SIZE=12 VALUE ="">
</FORM>
</BODY>

См. также

window.clearInterval, window.setTimeout

setResizable

Специфицирует, может ли пользователь изменять размеры окна.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

setResizable(trueOrFalse)

Параметр

trueOrFalse

Булево значение, специфицирующее, может ли пользователь изменять размеры окна:

  • true разрешает
  • false запрещает

Описание

По умолчанию новое окно Navigator'а может менять размеры. Методом setResizable Вы можете явно разрешить или запретить пользователю изменять размеры окна. Не все операционные системы поддерживают этот метод.

Вы можете также специфицировать, может ли окно изменять размеры во время создания, если используется метод window.open.

См. также

window.open

setTimeout

Вычисляет выражение или вызывает функцию по истечении специфицированного количества миллисекунд.

Метод из | window
Реализован в | JavaScript 1.0: вычисляется выражение. JavaScript 1.2: вызывается функция.

Синтаксис

setTimeout(expression, msec)
setTimeout(function, msec[, arg1[, ..., argN]])

Параметры

expression

Строка, содержащая выражение JavaScript. Выражение обязано быть заключено в кавычки; иначе setTimeout вызывает его немедленно. Например, setTimeout("calcnum(3, 2)", 25).

msec

Числовое значение или строка цифр, в миллисекундах.

function

Любая функция.

arg1, ..., argN

Аргументы, если имеются, передаваемые в function.

Описание

Метод setTimeout вычисляет выражение или вызывает функцию по истечении специфицированного количества времени. Он не выполняется повторно. Например, если метод setTimeout специфицирует 5 секунд, через пять секунд вычисляется выражение или вызывается функция, но не каждые пять секунд. Для выполнения повторяющихся таймаутов используйте метод setInterval.

setTimeout не нарушает выполнение скрипта. Скрипт продолжается сразу после выполнения метода (не ожидая повторения интервала). Его вызов просто откладывает будущее событие.

Примеры

Пример 1. Сообщение alert выводится через 5 секунд (5,000 миллисекунд) после щелчка пользователя по кнопке. Если пользователь щёлкает вторую кнопку до вывода сообщения, таймаут отменяется и alert не отображается.

<SCRIPT LANGUAGE="JavaScript">
function displayAlert() {
   alert("5 seconds have elapsed since the button was clicked.")
}
</SCRIPT>
<BODY>
<FORM>
Click the button on the left for a reminder in 5 seconds;
click the button on the right to cancel the reminder before
it is displayed.
<P>
<INPUT TYPE="button" VALUE="5-second reminder"
   NAME="remind_button"
   onClick="timerID=setTimeout('displayAlert()',5000)">
<INPUT TYPE="button" VALUE="Clear the 5-second reminder"
   NAME="remind_disable_button"
   onClick="clearTimeout(timerID)">
</FORM>
</BODY>

Пример 2. Выводится текущее время в объекте Text. Функция showtime, вызываемая рекурсивно, использует метод setTimeout для обновления значения каждую секунду.

<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timerID = null
var timerRunning = false
function stopclock(){
   if(timerRunning)
      clearTimeout(timerID)
   timerRunning = false
}
function startclock(){
   // Убедиться, что часы остановлены
   stopclock()
   showtime()
}
function showtime(){
   var now = new Date()
   var hours = now.getHours()
   var minutes = now.getMinutes()
   var seconds = now.getSeconds()
   var timeValue = "" + ((hours > 12) ? hours - 12 : hours)
   timeValue += ((minutes < 10) ? ":0" : ":") + minutes
   timeValue += ((seconds < 10) ? ":0" : ":") + seconds
   timeValue += (hours >= 12) ? " P.M." : " A.M."
   document.clock.face.value = timeValue
   timerID = setTimeout("showtime()",1000)
   timerRunning = true
}
//-->
</SCRIPT>
</HEAD>
<BODY onLoad="startclock()">
<FORM NAME="clock" onSubmit="0">
   <INPUT TYPE="text" NAME="face" SIZE=12 VALUE ="">
</FORM>
</BODY>

См. также

window.clearTimeout, window.setInterval

setZOptions

Специфицирует поведение z-order стэкирования окна.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

setZOptions(windowPosition)

Параметр

windowPosition

Строка, вычисляемая в одно из следующих значений:

  • alwaysRaised создаёт новое окно, которое всплывает поверх всех других окон, независимо от того, активно оно или нет.
  • alwaysLowered создаёт новое окно, которое всплывает ниже всех других окон, независимо от того, активно оно или нет.
  • z-lock создаёт новое окно, которое не всплывает поверх других окон при активации.

Безопасность

Для установки этого свойства необходимо обладать привилегией UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

По умолчанию окно Navigator'а переходит наверх в порядке z-order при активации и переходит вниз в порядке z-order при активации других окон. С помощью метода setZOptions Вы можете явно специфицировать положение окна в порядке z-order.

Если Вы не специфицируете аргумент для setZOptions, этот метод восстанавливает стэкирование z-order по умолчанию окна Navigator'а.

Вы можете также специфицировать поведение порядка стэкирования окна во время его создания при использовании метода window.open.

См. также

window.open

status

Специфицирует приоритетное сообщение статусной строки окна, такое как сообщение появляющееся при возникновении события mouseOver в якоре.

Свойство из | window
Реализовано в | JavaScript 1.0

Безопасность

JavaScript 1.1. Это свойство разрушено/запорчено по умолчанию. О разрушении данных см. книгу Клиентский JavaScript. Руководство.

Описание

Не путайте свойство status со свойством defaultStatus. Свойство defaultStatus отражает сообщение по умолчанию, выводимое в статусной строке/status bar.

Вы можете установить свойство status в любое время. Вы обязаны возвращать true, если хотите установить свойство status в обработчике onMouseOver.

Примеры

Предположим, Вы создали функцию JavaScript под названием pickRandomURL, которая даёт возможность выбрать произвольный URL. Вы можете использовать обработчик onClick в якоре для динамического специфицирования значения атрибута HREF этого якоря и обработчик onMouseOver - для специфицирования специального сообщения для окна - в свойстве status:

<A href="./?f="
   onClick="this.href=pickRandomURL()"
   onMouseOver="self.status='Pick a random URL'; return true">
Go!</A>

Здесь свойство status окна присваивается свойству self окна таким образом: self.status.

См. также

window.defaultStatus

statusbar

Представляет строку статуса/status bar окна. Это область, содержащая индикатор security, статус браузера и т.п.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Значение свойства statusbar само имеет свойство visible. Если оно true, статусная строка отображается; если false, она скрыта.

Безопасность

Установка значения свойства visible статусной строки требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Примеры

Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панелей toolbar, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:

self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;

stop

Останавливает загрузку.

Метод из | window
Реализован в | JavaScript 1.2

Синтаксис

stop()

Параметры

Отсутствуют.

Определение

Этот метод выполняет те же действия, что и нажатие на кнопку Stop в браузере.

toolbar

Представляет панель toolbar окна браузера, содержащую кнопки навигации, такие как Back, Forward, Reload, Home и т.п.

Свойство из | window
Реализовано в | JavaScript 1.2

Описание

Значение свойства toolbar само имеет свойство visible. Если оно true, toolbar отображается; если false, панель скрыта.

Безопасность

Установка значения свойства visible панели toolbar требует наличия привилегии UniversalBrowserWrite. О безопасности см. книгу Клиентский JavaScript. Руководство.

Пример

Следующий пример делает окно, на которое ссылаются, "chromeless" (в chromeless-окнах нет панели toolbar, полос прокрутки, статусной области и т.д., что делает их похожими на диалоговые окна), пряча большинство из панелей интерфейса пользователя:

self.menubar.visible=false;
self.toolbar.visible=false;
self.locationbar.visible=false;
self.personalbar.visible=false;
self.scrollbars.visible=false;
self.statusbar.visible=false;

top

Свойство top это синоним самого верхнего окна браузера, которое является окном документа или окном web-браузера.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Свойство top ссылается на самое верхнее окно, содержащее фрэймы или вложенные наборы фрэймов/frameset. Используйте свойство top для обращения к этому окну-предку.

Значением этого свойства является

<object objectReference>

где objectReference это внутренняя ссылка.

Примеры

Оператор top.close() закрывает самое верхнее окно иерархии окон .

Оператор top.length специфицирует количество фрэймов, содержащихся внутри самого верхнего окна. Если самый верхний предок определён так, top.length возвращает 3:

<FRAMESET COLS="30%,40%,30%">
<FRAME SRC=child1.htm NAME="childFrame1">
<FRAME SRC=child2.htm NAME="childFrame2">
<FRAME SRC=child3.htm NAME="childFrame3">
</FRAMESET>

Следующий пример устанавливает цвет фона фрэйма myFrame в red.

myFrame это потомок самого верхнего окна-предка.

top.myFrame.document.bgColor="red"

window

Свойство window это синоним текущего окна или фрэйма.

Свойство из | window
Только для чтения |
Реализовано в | JavaScript 1.0

Описание

Свойство window ссылается на текущее окно или фрэйм. То есть значение этого свойства является синонимом самого объекта.

Хотя можно использовать свойство window как синоним текущего фрэйма, Ваш код будет лучше читаться, если вы будете использовать свойство self. Например, window.name и self.name оба специфицируют имя текущего фрэйма, но self.name легче понять (поскольку фрэйм не отображается как отдельное окно).

Используйте свойство window для устранения неоднозначности свойства объекта window при вызове из формы или элемента формы с тем же именем. Вы можете также использовать свойство window, чтобы сделать код более понятным.

Значением свойства window является

<object nameAttribute>

где nameAttribute это атрибут NAME, если window ссылается на фрэйм, или внутренняя ссылка, если window ссылается на окно.

Пример

Здесь window.status используется для установки свойства status текущего окна. Такое использование устраняет неоднозначность свойства status текущего окна при обращении к текущему окну из формы, которая называется "status", в текущем окне.

<A href="./?f="
   onClick="this.href=pickRandomURL()"
   onMouseOver="window.status='Pick a random URL' ; return true">
Go!</A>

См. также

window.self
§ ← → У


Свойства и Функции Верхнего Уровня

2. Свойства и Функции
Верхнего Уровня

§ ← → У

В этой главе рассматриваются все свойства и функции JavaScript, не ассоциированные с какими-либо объектами. В спецификации ECMA эти свойства и функции называются свойствами и методами объекта global.

В следующей таблице собраны свойства верхнего уровня.

Таблица 2.1 Свойства верхнего уровня
Свойство Описание
Infinity

Числовое значение, представляющее бесконечность.

NaN

Значение, представляющее Not-A-Number/Не-Число.

undefined

Значение undefined.

В следующей таблице собраны функции верхнего уровня.

Таблица 2.2 Функции верхнего уровня
Функция Описание
escape

Возвращает 16-ричное значение - кодировку аргумента из набора символов ISO Latin-1; используется для создания строк для добавления в URL.

eval

Вычисляет строку кода JavaScript без ссылки на определённый объект.

isFinite

Вычисляет аргумент с целью определить, является ли он конечным числом.

isNaN

Вычисляет аргумент с целью определить, является ли он не-числом.

Number

Конвертирует объект в число.

parseFloat

Разбирает строковой аргумент и возвращает число с плавающей точкой.

parseInt

Разбирает строковой аргумент и возвращает целое число.

String

Конвертирует объект в строку.

taint

Добавляет разрушение данных к элементу данных или скрипту.

unescape

Возвращает ASCII-строку для специфицированного 16-ричного кодового значения.

untaint

Убирает разрушение данных с элемента данных или скрипта.

escape

Возвращает 16-ричное значение - кодировку аргумента из набора символов ISO Latin-1.

Функция ядра |
Реализована в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262-совместимая, исключая символы Unicode.

Синтаксис

escape("string")

Параметр

string

Строка из набора символов ISO-Latin-1.

Описание

escape это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Используйте функции escape и unescape для кодирования и декодирования (добавления вручную значений свойств) Uniform Resource Locator (URL), Uniform Resource Identifier (URI) или строки URI-типа.

Функция escape кодирует специальные символы в специфицированной строке и возвращает новую строку. Она кодирует пробелы, знаки пунктуации и любой другой символ, не являющийся алфавитным или числовым ASCII-символом, за исключением следующих символов:

* @ - _ + . /

Unicode. Функции escape и unescape не используют Unicode, как указано в спецификации ECMA. Вместо этого они используют указания Internet Engineering Task Force (IETF) для заменяющих/escaping символов. В URI символы используют US-ASCII-символы (набор символов ISO-Latin-1). URI это последовательность символов из базового латинского алфавита, цифры и несколько специальных символов (например, / и @). Еscape-последовательности не поддерживают как Unicode-значения \uXXXX или %uXXXX, как специфицировано ECMA, но поддерживают %XX, где XX это 16-ричное число из двух цифр (например, %7E). В URI представлены восьмеричными числами, как 8-битные байты.

Чтобы escape и unescape могли работать с поддерживаемыми Web-сервером URL и URI, JavaScript не использует Unicode для этих функций.

  • escape возвращает 16-ричную кодировку специфицированной строки из набора символов ISO-Latin-1.
  • unescape возвращает ASCII-строку, последовательность символов из набора ISO-Latin-1.

Unicode-специфичные escape-последовательности %uXXXX не поддерживаются.

Примеры

Пример 1. Этот пример возвращает "%26":

escape("&") // возвращает "%26"

Пример 2. Следующий оператор возвращает строку кодированных символов для пробелов, запятых и апострофов.

// возвращает "The_rain.%20In%20Spain%2C%20Ma%92am"
escape("The_rain. In Spain, Ma'am")

См. также

unescape

eval

Вычисляет строку кода JavaScript без ссылки на определённый объект.

Функция ядра |
Реализована в | JavaScript 1.0
Версия ECMA | ECMA-262

Синтаксис

eval(string)

Параметр

string

Строка, представляющая выражение, оператор или последовательность операторов JavaScript. Выражение может содержать переменные и свойства существующих объектов.

Описание

eval это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Аргументом функции eval является строка. Если строка представляет выражение, eval вычисляет выражение. Если аргумент представляет собой один или более операторов JavaScript, eval выполняет эти операторы. Не вызывайте eval для вычисления арифметических выражений; JavaScript вычисляет арифметические выражения автоматически.

Если Вы конструируете арифметическое выражение как строку, Вы можете в дальнейшем использовать eval для его вычисления. Например, предположим, у Вас имеется переменная x. Вы можете отсрочить вычисление выражения, включающего x, присвоив строковое значение выражения, скажем, "3 * x + 2", переменной и вызвав eval в скрипте позднее.

Если аргументом eval не является строка, eval возвращает the аргумент без изменений. В следующем примере специфицируется String-конструктор, и eval возвращает String-объект вместо вычисления строки.

eval(new String("2+2")) // возвращает String-объект, содержащий "2+2"
eval("2+2")             // возвращает 4

Вы не должны использовать неявные вызовы функции eval по имени, отличному от eval. Например, Вы не должны использовать такой код:

var x = 2
var y = 4
var myEval = eval
myEval("x + y")

Обратная Совместимость

JavaScript 1.1. eval является также методом всех объектов. Этот метод описан в классе Object.

Примеры

Следующие примеры отображают вывод с помощью document.write. В серверном JavaScript можно отобразить тот же самый вывод через вызов функции write вместо использования document.write.

Пример 1. В этом коде оба оператора, содержащие eval, возвращают 42. Первый вычисляет строку "x + y + 1"; второй вычисляет строку "42".

var x = 2
var y = 39
var z = "42"
eval("x + y + 1") // возвращает 42
eval(z)           // возвращает 42

Пример 2. В следующем примере функция getFieldName(n) возвращает имя специфицированного элемента формы как строку. Первый оператор присваивает строковое значение третьего элемента формы переменной field. Второй оператор использует eval для отображения значения элемента формы.

var field = getFieldName(3)
document.write("The field named ", field, " has value of ",
   eval(field + ".value"))

Пример 3. Здесь eval используется для вычисления строки str. Эта строка состоит из операторов JavaScript, которые открывают диалоговое окно Alert и присваивают переменной z значение 42, если x равен пяти, и присваивают переменной z 0 в ином случае. Если второй оператор выполняется, eval вызывает выполнение этих операторов, а также вычисляет набор операторов и возвращает значение, присвоенное переменной z.

var str = "if (x == 5) {alert('z is 42'); z = 42;} else z = 0; "
document.write("<P>z is ", eval(str))

Пример 4. В следующем примере функция setValue использует eval для присвоения значения переменной newValue текстовому полю textObject:

function setValue (textObject, newValue) {
   eval ("document.forms[0]." + textObject + ".value") = newValue
}

Пример 5. В этом примере создаётся breed как свойство объекта myDog, а также как переменная. Первый оператор write использует eval('breed') без специфицирования объекта; строка "breed" вычисляется безотносительно какого-либо объекта, а метод write выводит "Shepherd", что является значением переменной breed. Второй оператор write использует myDog.eval('breed'), что специфицирует объект myDog; строка "breed" вычисляется с учётом объекта myDog, а метод write выводит "Lab", что является значением свойства breed объекта myDog.

function Dog(name,breed,color) {
   this.name=name
   this.breed=breed
   this.color=color
}
myDog = new Dog("Gabby")
myDog.breed="Lab"
var breed='Shepherd'
document.write("<P>" + eval('breed'))
document.write("<BR>" + myDog.eval('breed'))

См. также

Метод Object.eval

Infinity

Числовое значение, представляющее бесконечность.

Свойство ядра |
Реализовано в | JavaScript 1.3 (В предыдущих версиях Infinity было определено только как свойство объекта Number).
Версия ECMA | ECMA-262

Синтаксис

Infinity

Описание

Infinity это свойство верхнего уровня, не ассоциированное с каким-либо объектом.

Начальным значением Infinity является Number.POSITIVE_INFINITY. Значение Infinity (положительная бесконечность) больше любого другого числа, включая себя самого. Это значение математически ведёт себя как бесконечность; например, что-либо, умноженное на Infinity, даёт Infinity, что-нибудь, делённое на Infinity даёт 0.

См. также

Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY

isFinite

Вычисляет аргумент с целью определить, является ли он конечным числом.

Функция ядра |
Реализована в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

isFinite(number)

Параметр

number

Вычисляемое число.

Описание

isFinite это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Можно использовать этот метод для того чтобы определить, является ли данное число конечным. Метод isFinite проверяет число-аргумент. Если аргумент равен NaN, положительной или отрицательной бесконечности, метод возвращает false, иначе возвращает true.

Пример

Можно проверить ввод клиента, чтобы определить, введено ли конечное число.

if(isFinite(ClientInput) == true)
{
   /* некоторые действия */
}

См. также

Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY

isNaN

Вычисляет аргумент с целью определить, является ли он не-числом.

Функция ядра |
Реализована в | JavaScript 1.0: только Unix. JavaScript 1.1, NES 2.0: все платформы.
Версия ECMA | ECMA-262

Синтаксис

isNaN(testValue)

Параметр

testValue

Тестируемое значение.

Описание

isNaN это функция верхнего уровня, не ассоциированная с каким-либо объектом.

На платформах, поддерживающих NaN, функции parseFloat и parseInt возвращают NaN, если вычисляют значение, не являющееся числом. isNaN возвращает true, если передано NaN, и false - в ином случае.

Пример

Этот пример вычисляет floatValue для определения, является ли оно числом, а затем вызывает соответствующую процедуру:

floatValue=parseFloat(toFloat)
if (isNaN(floatValue)) {
   notFloat()
} else {
   isFloat()
}

См. также

Number.NaN, parseFloat, parseInt

NaN

Значение, представляющее Not-A-Number/Не-Число.

Свойство ядра |
Реализовано в | JavaScript 1.3 (В предыдущих версиях, NaN было определено только как свойство объекта Number).
Версия ECMA | ECMA-262

Синтаксис

NaN

Описание

NaN это свойство верхнего уровня, не ассоциированное с каким-либо объектом.

Начальным значением NaN является NaN.

NaN всегда не равно любому другому числу, включая само NaN; Вы не можете проверить на значение not-a-number путём сравнения с Number.NaN. Вместо этого используйте функцию isNaN.

Некоторые методы JavaScript (такие как конструктор Number, parseFloat и parseInt) возвращают NaN, если значение, специфицированное в параметре, не является числом.

Вы можете использовать свойство NaN для указания на ошибочное условие функции, которая должна возвращать верное число.

См. также

isNaN, Number.NaN

Number

Конвертирует специфицированный объект в число.

Функция ядра |
Реализована в | JavaScript 1.2, NES 3.0
Версия ECMA | ECMA-262

Синтаксис

Number(obj)

Параметр

obj

Объект.

Описание

Number это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Если объект является Date-объектом, Number возвращает значение в миллисекундах, отмеренное от даты 1 января 1970 года UTC (GMT), положительное - после этой даты, негативное - до.

Если obj это строка, которая не содержит правильно оформленного числового литерала, Number возвращает NaN.

Пример

Date-объект конвертируется в числовое значение:

d = new Date ("December 17, 1995 03:24:00")
alert (Number(d))

Выводится диалоговое окно, содержащее "819199440000."

См. также

Number

parseFloat

Разбирает строковой аргумент и возвращает число с плавающей точкой.

Функция ядра

Реализована в

JavaScript 1.0: если первый символ строки, специфицированной в parseFloat(string), не может быть конвертирован в число, возвращается NaN на Solaris и Irix и 0 - на всех других платформах.

JavaScript 1.1, NES 2.0: возвращается NaN на всех платформах, если первый символ строки, специфицированной в parseFloat(string), не может быть конвертирован в число.

Версия ECMA

ECMA-262

Синтаксис

parseFloat(string)

Параметр

string

Строка, представляющая значение, которое Вы хотите разобрать/parse.

Описание

parseFloat это функция верхнего уровня, не ассоциированная с каким-либо объектом.

parseFloat разбирает свой аргумент, строку, и возвращает число с плавающей точкой. Если он обнаруживает символ, отличный от знака (+ или -), цифры (0-9) и десятичной точки, или экспоненты, он возвращает значение до этой точки и игнорирует этот и все последующие символы. Ведущие и ведомые пробелы разрешаются.

Если первый символ не может быть конвертирован в число, parseFloat возвращает NaN.

Для арифметических целей значение NaN является не-числом для любой основы/radix. Вы можете вызвать функцию isNaN, чтобы определить, является ли результат работы parseFloat значением NaN. Если NaN передаётся арифметической операции, результат операции также будет NaN.

Примеры

Все следующие строки возвращают 3.14:

parseFloat("3.14")
parseFloat("314e-2")
parseFloat("0.0314E+2")
var x = "3.14"
parseFloat(x)

Следующий пример возвращает NaN:

parseFloat("FF2")

См. также

isNaN, parseInt

parseInt

Разбирает строковой аргумент и возвращает целое число со специфицированным radix или базой.

Функция ядра

Реализована в

JavaScript 1.0: если первый символ строки, специфицированной в parseInt(string), не может быть конвертирован в число, возвращается NaN на Solaris и Irix и 0 - на всех других платформах.

JavaScript 1.1, LiveWire 2.0: возвращается NaN на всех платформах, если первый символ строки, специфицированной в parseInt(string), не может быть конвертирован в число.

Версия ECMA

ECMA-262

Синтаксис

parseInt(string[, radix])

Параметры

string

Строка, представляющая значение, которое нужно разобрать.

radix

Целое число, представляющее основание/radix return-значения.

Описание

parseInt это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Функция parseInt разбирает свой первый аргумент, строку, и пытается возвратить целое число - специфицированный radix (основание). Например, radix 10 указывает на конвертацию в десятеричное число, 8 - в восьмеричное, 16 - в шестнадцатеричное, и т.д. Для оснований больше 10, буквы латинского алфавита обозначают цифры больше 9. Например, для 16-ричных чисел (основание 16) используются буквы от A до F включительно.

Если parseInt обнаруживает символ, который не является числом для специфицированного radix, он игнорирует это число и все последующие символы и возвращает целочисленное значение, разобранное до этой точки. parseInt усекает числа до целочисленных значений. Ведущие и ведомые пробелы допускаются.

Если radix не специфицирован или специфицирован как 0, JavaScript принимает следующее:

  • Если string ввода начинается с "0x", radix равен 16 (16-ричное основание).
  • Если string ввода начинается с "0", radix восьмеричный.
  • Если string ввода начинается с любого другого значения, radix равен 10 (10-рчное основание).

Если первый символ не может быть конвертирован в число, parseInt возвращает NaN.

Для арифметических целей значение NaN является не-числом при любом radix. Вы можете вызвать затем функцию isNaN, чтобы определить, является ли NaN результатом работы parseInt. Если NaN передаётся арифметической операции, результат операции также будет NaN.

Примеры

Все следующие строки возвращают 15:

parseInt("F", 16)
parseInt("17", 8)
parseInt("15", 10)
parseInt(15.99, 10)
parseInt("FXX123", 16)
parseInt("1111", 2)
parseInt("15*3", 10)

Все следующие строки возвращают NaN:

parseInt("Hello", 8)
parseInt("0x7", 10)
parseInt("FFF", 10)

Хотя специфицирован различный radix, все следующие строки возвращают 17, поскольку string ввода начинается с "0x".

parseInt("0x11", 16)
parseInt("0x11", 0)
parseInt("0x11")

См. также

isNaN, parseFloat, Object.valueOf

String

Конвертирует специфицированный объект в строку.

Функция ядра |
Реализована в | JavaScript 1.2, NES 3.0
Версия ECMA | ECMA-262

Синтаксис

String(obj)

Параметр

obj

Объект.

Описание

String это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Метод String конвертирует значение любого объекта в строку; он возвращает такое же значение, что и метод toString отдельного объекта.

Если объект является Date-объектом, String возвращает более читабельное строковое представление даты. Формат такой: Thu Aug 18 04:37:43 Pacific Daylight Time 1983.

Пример

В этом примере Date-объект конвертируется в читаемую строку:

D = new Date (430054663215)
alert (String(D))

Будет выведен диалог, содержащий "Thu Aug 18 04:37:43 GMT-0700 (Pacific Daylight Time) 1983."

См. также

String

taint

Добавляет разрушение данных к элементу данных или скрипту.

Клиентская функция |
Реализована в | JavaScript 1.1 JavaScript 1.2: удалена.

Синтаксис

taint([dataElementName])

Параметр

dataElementName

Свойство, переменная, функция или объект для разрушения. При отсутствии этого параметра, taint добавляется к самому скрипту.

Описание

taint это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Tainting/разрушение/порча данных предотвращает передачу информации, которая должна быть закрытой и секретной, такой как структура директорий или история пользовательской сессии. JavaScript не может передать разрушенные значения на сервер без наличия разрешения для конечного пользователя.

Используйте taint для маркировки данных, которые иначе остаются неразрушенными.

В некоторых случаях поток управления, а не поток данных, работает с разрушенными данными. Тогда taint добавляется к окну, содержащему скрипт. Вы можете добавить taint к окну скрипта, вызвав taint без аргументов.

taint не модифицирует аргументы; она возвращает маркированную копию значения или, для объектов, немаркированную ссылку на это значение.

Пример

Следующий оператор добавляет taint/разрушение данных к свойству, поэтому скрипт не может отправить это свойство серверу, не имея разрешения для конечного пользователя/end user's permission:

taintedStatus=taint(window.defaultStatus)

// taintedStatus теперь не может быть отправлена в URL или form post без
// end user's permission

См. также

navigator.taintEnabled, untaint

undefined

Значение undefined.

Свойство ядра |
Реализовано в | JavaScript 1.3
Версия ECMA | ECMA-262

Синтаксис

undefined

Описание

undefined это свойство верхнего уровня, не ассоциированное с каким-либо объектом.

Переменная, которой не присвоено значение, имеет тип undefined. Метод или оператор также возвращает undefined, если вычисляемая переменная не имеет присвоенного значения.

Можно использовать undefined для того чтобы определить, имеет ли переменная значение.
В этом коде переменная x не определена, и оператор if вычисляется в true.

var x
if(x == undefined) {
   // здесь выполняются операторы
}

undefined является также примитивным значением.

unescape

Возвращает ASCII-строку для специфицированного 16-ричного кодового значения.

Функция ядра |
Реализована в | JavaScript 1.0, NES 1.0
Версия ECMA | ECMA-262-совместимая, за исключением символов Unicode.

Синтаксис

unescape(string)

Параметр

string

Строка, содержащая символы в формате "%xx", где xx это 16-ричное число.

Описание

unescape это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Строка, возвращаемая функцией unescape, является серией символов из набора ISO-Latin-1.

Методы escape и unescape не используют Unicode, как специфицировано ECMA. Дополнительно см. описание "Unicode".

Примеры

Следующий пример возвращает "&":

unescape("%26")

Следующий пример возвращает "!#":

unescape("%21%23")

См. также

escape

untaint

Убирает разрушение данных с элемента данных или скрипта.

Клиентская функция |
Реализована в | JavaScript 1.1 JavaScript 1.2: удалена.

Синтаксис

untaint([dataElementName])

Параметр

dataElementName

С этого свойства, переменной, функции или объекта разрушение данных убирается. При отсутствии этого параметра, taint убирается с самого скрипта.

Описание

untaint это функция верхнего уровня, не ассоциированная с каким-либо объектом.

Разрушение данных/Tainting предотвращает передачу другими скриптами частной или секретной информации, такой как структура директорий или история пользовательской сессии. JavaScript не может передать разрушенные значения на сервер без наличия разрешения для конечного пользователя.

Используйте untaint для удаления разрушения с тех данных, которые должны передаваться другими скриптами на другие серверы.

Скрипт может untaint только те данные, которые были созданы в этом скрипте (то есть, только те данные, которые имеют taint-код скрипта или имеют тождественный (null) taint-код). Если Вы используете untaint с элементом данных скрипта другого сервера (или с данными, которые Вы не можете untaint), untaint возвращает данные без изменений или ошибку.

В некоторых случаях поток управления, а не поток данных, работает с разрушенными данными. Тогда taint добавляется к окну, содержащему скрипт. Вы можете удалить taint из окна скрипта, вызвав untaint без аргументов, если окно содержит taint, но только для текущего окна.

untaint не модифицирует свой аргумент; она возвращает немаркированную копию значения или, для объектов, немаркированную ссылку на это значение.

Пример

Следующий оператор удаляет разрушение данных/taint из свойства, поэтому скрипт может быть выслан другому серверу:

untaintedStatus=untaint(window.defaultStatus)

// untaintedStatus может теперь быть выслана в URL или form post другими скриптами

См. также

navigator.taintEnabled, taint
§ ← → У


Обработчики Событий

3. Обработчики Событий

§ ← → У

В этой главе рассматриваются обработчики событий, используемые с объектами клиентского JavaScript для выполнения определённых действий.

Общую информацию об обработчиках событий см. в книге Клиентский JavaScript. Руководство.

В следующей таблице дано резюме по обработчикам событий. Имя обработчика события состоит из имени события с предшествующим "on." Например, обработчик для события focus называется onFocus.

Таблица 3.1 Обработчики Событий
Событие Обработчик Описание
Abort
onAbort

Выполняет код JavaScript, когда пользователь прерывает загрузку изображения.

Blur
onBlur

Выполняет код JavaScript, когда элемент формы теряет фокус ввода или когда окно или фрэйм теряют фокус.

Change
onChange

Выполняет код JavaScript, когда поля Select, Text или Textarea теряют фокус, а их значения были изменены.

Click

onClick

Выполняет код JavaScript, когда произведён щелчок по объекту формы.

DblClick
onDblClick

Выполняет код JavaScript, когда пользователь дважды щёлкнул по элементу формы или по гиперссылке.

DragDrop
onDragDrop

Выполняет код JavaScript, когда пользователь отпустил (мышью) объект в окне браузера, как при перетаскивании файлов.

Error

onError

Выполняет код JavaScript, когда загрузка документа или изображения вызвала ошибку.

Focus

onFocus

Выполняет код JavaScript, когда окно, фрэйм или набор фрэймов получает фокус или когда элемент формы получает фокус ввода.

KeyDown
onKeyDown

Выполняет код JavaScript, когда пользователь нажимает клавишу клавиатуры.

KeyPress

onKeyPress

Выполняет код JavaScript, когда пользователь нажимает клавишу клавиатуры и удерживает её в нажатом состоянии.

KeyUp
onKeyUp

Выполняет код JavaScript, когда пользователь отпускает клавишу клавиатуры.

Load

onLoad

Выполняет код JavaScript, когда браузер закончил загрузку документа или всех фрэймов тэга FRAMESET.

MouseDown

onMouseDown

Выполняет код JavaScript, когда пользователь нажал клавишу мыши.

MouseMove
onMouseMove

Выполняет код JavaScript, когда пользователь перемещает курсор мышью.

MouseOut

onMouseOut

Выполняет код JavaScript, когда указатель мыши покидает область клиентской карты изображений или ссылки.

MouseOver

onMouseOver

Выполняет код JavaScript, когда указатель мыши проходит над объектом или областью.

MouseUp

onMouseUp

Выполняет код JavaScript, когда пользователь отпускает нажатую клавишу мыши.

Move

onMove

Выполняет код JavaScript, когда пользователь или скрипт перемещают окно или фрэйм.

Reset

onReset

Выполняет код JavaScript, когда пользователь восстанавливает значения полей формы (щёлкает кнопку Reset).

Resize

onResize

Выполняет код JavaScript, когда пользователь или скрипт изменяют размеры окна или фрэйма.

Select

onSelect

Выполняет код JavaScript, когда пользователь выделяет некоторый текст в поле text или textarea.

Submit

onSubmit

Выполняет код JavaScript, когда пользователь отправляет форму на сервер.

Unload

onUnload

Выполняет код JavaScript, когда пользователь выходит из документа.

onAbort

Выполняет код JavaScript, когда возникает событие abort; то есть, когда пользователь прерывает загрузку изображения (например, щёлкая ссылку или кнопку Stop).

Обработчик события для | Image
Реализован в | JavaScript 1.1

Синтаксис

onAbort="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Пример

В этом примере обработчик onAbort объекта Image отображает сообщение, когда пользователь прерывает загрузку изображения:

<IMG NAME="aircraft" SRC="f15e.gif"
   onAbort="alert('You didn\'t get to see the image!')">

См. также

event, onError, onLoad

onBlur

Выполняет код JavaScript, когда возникает событие blur; то есть, если элемент формы теряет фокус или если окно или фрэйм теряют фокус.

Обработчик события для | Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Select, Submit, Text, Textarea, window
Реализован в | JavaScript 1.0 JavaScript 1.1: обработчик события для объектов Button, Checkbox, FileUpload, Frame, Password, Radio, Reset, Submit и window

Синтаксис

onBlur="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

Событие blur может быть результатом вызова метода window.blur, или щелчка пользователя мышью на другом объекте или окне или перехода с помощью клавиш табуляции на клавиатуре.

Для окон, фрэймов и наборов фрэймов onBlur специфицирует код JavaScript, выполняемый при потере окном фокуса.

Обработчик onBlur фрэйма переопределяет обработчик onBlur тэга BODY документа, загруженного во фрэйм.

ПРИМЕЧАНИЕ: В JavaScript 1.1 на некоторых платформах - помещение обработчика onBlur в тэг FRAMESET не даёт никакого эффекта.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Примеры

Пример 1: Проверка данных, введённых в форму. В следующем примере userName это необходимое текстовое поле. Если пользователь пытается покинуть это поле, обработчик onBlur вызывает функцию required для подтверждения того, что userName имеет верное значение.

<INPUT TYPE="text" VALUE="" NAME="userName"

   onBlur="required(this.value)">

Пример 2: Изменение цвета фона документа. Обработчики onBlur и onFocus окна изменяют цвет фона окна, в зависимости от того, имеет окно фокус или нет.

<BODY BGCOLOR="lightgrey"
   onBlur="document.bgColor='lightgrey'"

   onFocus="document.bgColor='antiquewhite'">

Пример 3: Изменение цвета фона фрэйма. Этот пример создаёт 4 фрэйма. Документ-источник для каждого фрэйма, onblur2.html, имеет тэг BODY с обработчиками onBlur и onFocus, показанными в Примере 1. Когда документ загружается, все фрэймы имеют светло-серый цвет. Когда пользователь щёлкает по фрэйму, обработчик onFocus изменяет цвет фона фрэйма на antique white. Фрэйм, теряющий фокус, становится светло-серым. Обратите внимание, что обработчики onBlur и onFocus находятся внутри тэга BODY, а не тэга FRAME.

<FRAMESET ROWS="50%,50%" COLS="40%,60%">
<FRAME SRC=onblur2.html
NAME="frame1">
<FRAME SRC=onblur2.html NAME="frame2">
<FRAME SRC=onblur2.html
NAME="frame3">
<FRAME SRC=onblur2.html NAME="frame4">
</FRAMESET>

Следующий код даёт тот же эффект, что и предыдущий, но реализован иначе. Обработчики onFocus и onBlur ассоциируются с фрэймом, но не с документом. Обработчики onBlur и onFocus для фрэйма специфицируются путём установки свойств onblur и onfocus.

<SCRIPT>
function setUpHandlers() {
   for
(var i = 0; i < frames.length; i++) {
      frames[i].onfocus=new
Function("document.bgColor='antiquewhite'")
      frames[i].onblur=new
Function("document.bgColor='lightgrey'")
   }
}
</SCRIPT>
<FRAMESET ROWS="50%,50%" COLS="40%,60%" onLoad=setUpHandlers()>

<FRAME SRC=onblur2.html NAME="frame1">
<FRAME SRC=onblur2.html NAME="frame2">

<FRAME SRC=onblur2.html NAME="frame3">
<FRAME SRC=onblur2.html NAME="frame4">

</FRAMESET>

Пример 4: Закрытие окна. Обработчик onBlur окна закрывает окно, когда оно теряет фокус.

<BODY onBlur="window.close()">
This is some text
</BODY>

См. также

event, onChange, onFocus

onChange

Выполняет код JavaScript, когда возникает событие change; то есть, если поле Select, Text или Textarea теряет фокус, а его значение было изменено.

Обработчик события для | FileUpload, Select, Text, Textarea
Реализован в | JavaScript 1.0: обработчик события для элементов Select, Text и Textarea JavaScript 1.1: добавлен обработчик для FileUpload

Синтаксис

onChange="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

Используйте onChange для проверки данных после их изменения пользователем.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Примеры

Здесь userName этот текстовое поле. Если пользователь изменяет текст и покидает поле, обработчик onChange вызывает функцию checkValue для подтверждения верности значения userName.

<INPUT TYPE="text" VALUE="" NAME="userName"

   onChange="checkValue(this.value)">

См. также

event, onBlur, onFocus

onClick

Выполняет код JavaScript, когда возникает событие click; то есть, когда сделан щелчок по объекту или форме. (Событие click является комбинацией событий MouseDown и MouseUp).

Обработчик события для | Button, document, Checkbox, Link, Radio, Reset, Submit
Реализован в | JavaScript 1.0 JavaScript 1.1: добавлена возможность возвращать false для отмены акции, ассоциированной с событием click.

Синтаксис

onClick="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание свойства
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Когда сделан щелчок по гиперссылке,
layerX, layerY,
pageX, pageY,
screenX, screenY

Представляет местоположение курсора в момент возникновения события.

which

Представляет 1 для щелчка левой клавиши мыши и 3 - для щелчка правой клавиши.

modifiers

Содержит список клавиш-модификаторов, нажатых при возникновении события.

Описание

Для переключателей/checkboxes, гиперссылок, радио-кнопок, кнопок reset и кнопок submit обработчик onClick может вернуть false для отмены акции, нормально ассоциированной с событием click.

Например, следующий код создаёт ссылку, которая при щелчке по ней выводит диалог confirm. Если пользователь щёлкает ссылку, а затем выбирает cancel, страница, специфицированная ссылкой, не загружается.

<A HREF = "http://home.netscape.com/"
   onClick="return confirm('Load Netscape home page?')">Netscape</A>

Если обработчик возвращает false, акция по умолчанию объекта отменяется так:

  • Кнопки -- нет акции по умолчанию; ничего не отменяется.
  • Радио-кнопки и переключатели -- ничего не устанавливается.
  • Кнопки submit -- форма не отправляется.
  • Кнопки reset -- значения формы не восстанавливаются.

ПРИМЕЧАНИЕ: В JavaScript 1.1 на некоторых платформах возвращение false обработчиком onClick для кнопок reset не даёт эффекта.

Примеры

Пример 1: Вызов функции при щелчке пользователя по кнопке. Предположим, Вы создали функцию JavaScript compute. Можно выполнить функцию compute, когда пользователь щёлкает кнопку и вызывает функцию с помощью обработчика onClick:

<INPUT TYPE="button" VALUE="Calculate" onClick="compute(this.form)">

В этом примере ключевое слово this ссылается на текущий объект; в данном случае это кнопка Calculate. Конструкция this.form ссылается на форму, содержащую кнопку.

В следующем примере предположим, что Вы создали функцию JavaScript pickRandomURL, которая позволяет выбрать случайный URL. Можно использовать onClick для динамического специфицирования значения атрибута HREF тэга A, как показано здесь:

<A href="./?f="
   onClick="this.href=pickRandomURL()"

   onMouseOver="window.status='Pick a random URL'; return true">
Go!</A>

Обработчик onMouseOver специфицирует специальное сообщение для вывода в строке состояния браузера, когда пользователь помещает указатель мыши над якорем Go!. Как видно из этого примера, Вы обязаны возвратить true, чтобы установить свойство window.status в обработчике onMouseOver.

Пример 2: Отмена выделения переключателя/checkbox. В следующем примере создаётся переключатель с обработчиком onClick. Обработчик события выводит диалог confirm, который предупреждает пользователя, что выделение переключателя (установка "птички") уничтожит все файлы. Если пользователь выберет Cancel, onClick возвратит false, и переключатель останется невыделенным.

<INPUT TYPE="checkbox" NAME="check1" VALUE="check1"

   onClick="return confirm('This purges all your files. Are you sure?')"> Remove files

См. также

event

onDblClick

Выполняет код JavaScript при возникновении события DblClick; то есть, когда пользователь дважды щёлкнет элемент формы или гиперссылку.

Обработчик события для | document, Link
Реализован в | JavaScript 1.2

Синтаксис

onDblClick="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

ПРИМЕЧАНИЕ: DblClick не реализован на Macintosh.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,

screenX, screenY

Представляет местонахождение курсора в момент возникновения события.

which

Представляет 1 для щелчка левой клавиши мыши и 3 - для щелчка правой клавиши.

modifiers

Содержит список клавиш-модификаторов, нажатых при возникновении события.

Пример

Здесь диалог alert выводится, если пользователь дважды щёлкнет кнопку:

<form>
<INPUT Type="button" Value="Double Click Me!"

onDblClick="alert('You just double clicked me!')">
</form>

См. также

event

onDragDrop

Выполняет код JavaScript при возникновении события DragDrop; то есть, если пользователь отпустит объект в окне браузера, как при перетаскивании файлов.

Обработчик события для | window
Реализован в | JavaScript 1.2

Синтаксис

onDragDrop="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

data

Возвращает массив строк, содержащих URL'ы отпущенных объектов.

modifiers

Содержит список клавиш-модификаторов, нажатых при возникновении события.

screenX,
screenY

Представляет местонахождение курсора в момент возникновения события.

Безопасность

Получение свойства data события DragDrop требует привилегии UniversalBrowserRead. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Событие DragDrop возникает тогда, когда системный объект (файл, ярлык и т.п.) отпускается в окне браузера с использование системного механизма drag and drop. Нормальной реакцией браузера будет попытка загрузить объект в окно браузера. Если обработчик для события DragDrop возвратит true, браузер загружает объект нормальным образом. Если обработчик возвратит false, drag and drop отменяется.

См. также

event

onError

Выполняет код JavaScript при возникновении события error/ошибки; то есть, когда при загрузке документа или изображения возникает ошибка.

Обработчик события для | Image, window
Реализован в | JavaScript 1.1

Синтаксис

onError="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

Событие error возникает только тогда, когда возникает ошибка синтаксиса JavaScript или ошибка времени выполнения, а не при появлении ошибки браузера. Например, если Вы попытаетесь установить window.location.href='notThere.html', а файл notThere.html не существует, результирующим сообщением об ошибке будет сообщение браузера; следовательно, onError не будет перехватывать это сообщение. Однако событие error будет включаться неверным URL в тэге IMG или неверными данными изображения.

window.onerror применяется только к ошибкам, которые возникают в окне, содержащем window.onerror, но не к ошибкам в других окнах.

onError может иметь следующие значения:

  • null для подавления всех диалогов JavaScript об ошибках. Установка window.onerror в null означает, что Ваши пользователи не увидят ошибок JavaScript, вызванных Вашим кодом.
  • Имя функции, обрабатывающей ошибки (аргументами являются текст сообщения, URL и номер строки с ошибкой). Для подавления стандартного диалога JavaScript об ошибках эта функция обязана возвращать true. См. Пример 3 ниже.
  • Переменная или свойство, содержащее null или верную ссылку на функцию.

Если Вы пишете функцию-обработчик ошибок, у Вас есть три опции для сообщения об ошибках:

  • Отслеживать ошибки, но дать возможность сообщать о них через стандартный диалог JavaScript (использовать функцию обработки ошибок, которая возвращает false или не возвращает значение).
  • Самостоятельно сообщать об ошибках и отключить стандартный диалог (использовать функцию обработки ошибок, возвращающую true).
  • Отключить все сообщения об ошибках (установить null в обработчик onError).

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Примеры

Пример 1: Обработчик со значением Null. В этом тэге IMG код onError="null" подавляет сообщения об ошибках, если ошибка возникает при загрузке изображения.

<IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2"

   onError="null">

Пример 2: Обработчик с Null для окна. Обработчик onError для окна не может быть выражен через HTML. Следовательно, Вы обязаны ввести всё необходимое, в нижнем регистре, в тэге SCRIPT. Следующий код присваивает null обработчику onError для всего окна, а не только для объекта Image. Это подавляет все сообщения JavaScript об ошибках, включая сообщения для объекта Image.

<SCRIPT>
window.onerror=null
</SCRIPT>

<IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2">

Однако, если объект Image имеет свой специальный обработчик onError, этот обработчик будет выполняться при возникновении ошибки с изображением. Это происходит из-за того что window.onerror=null подавляет сообщения об ошибках JavaScript, а не обработчиков onError.

<SCRIPT>
window.onerror=null

function myErrorFunc() {
   alert("The image had a nasty error.")
}
</SCRIPT>

<IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2"

   onError="myErrorFunc()">

В следующем примере window.onerror=null подавляет все сообщения об ошибках. Без onerror=null код вызовет ошибку переполнения стэка, так как здесь имеется бесконечная рекурсия.

<SCRIPT>
window.onerror = null;
function testErrorFunction() {

   testErrorFunction();
}
</SCRIPT>
<BODY onload="testErrorFunction()">

test message
</BODY>

Пример 3: Функция обработки ошибок. Здесь определена функция myOnError, которая перехватывает ошибки JavaScript. Эта функция использует три массива для хранения сообщения, URL и строки-нарушителя для каждой ошибки. Если пользователь щёлкает кнопку Display Error Report, функция displayErrors открывает окно и создаёт в нём сообщение об ошибке. Заметьте, что эта функция возвращает true для подавления стандартного диалога JavaScript об ошибке.

<SCRIPT>
window.onerror = myOnError
msgArray = new Array()
urlArray = new Array()
lnoArray = new Array()
function myOnError(msg, url, lno) {
   msgArray[msgArray.length]
= msg
   urlArray[urlArray.length] = url
   lnoArray[lnoArray.length]
= lno
   return true
}
function displayErrors() {

   win2=window.open('','window2','scrollbars=yes')

   win2.document.writeln('<B>Error Report</B><P>')
   for (var i=0; i < msgArray.length; i++) {

      win2.document.writeln('<B>Error in file:</B> '
+ urlArray[i] + '<BR>')
      win2.document.writeln('<B>Line
number:</B> ' + lnoArray[i] + '<BR>')

      win2.document.writeln('<B>Message:</B> '
+ msgArray[i] + '<P>')
   }
   win2.document.close()
}

</SCRIPT>
<BODY onload="noSuchFunction()">
<FORM>

<BR><INPUT TYPE="button" VALUE="This button has a syntax error"

   onClick="alert('unterminated string')">
<P><INPUT TYPE="button" VALUE="Display Error Report"

   onClick="displayErrors()">
</FORM>

Этот пример даст на выходе:

Error Report
Error in file:
file:///c%7C/temp/onerror.html
Line number: 34
Message: unterminated string literal
Error in file: file:///c%7C/temp/onerror.html
Line number:
34
Message: missing ) after argument list
Error in file: file:///c%7C/temp/onerror.html
Line number: 30

Message: noSuchFunction is not defined

Пример 4: Обработчик события вызывает функцию. В тэге IMG обработчик onError вызывает функцию badImage при возникновении ошибок во время загрузки изображения.

<SCRIPT>
function badImage(theImage) {

   alert('Error: ' + theImage.name + ' did not load properly.')
}
</SCRIPT>

<FORM>
<IMG NAME="imageBad2" SRC="orca.gif" ALIGN="left" BORDER="2"

   onError="badImage(this)">
</FORM>

См. также

event, onAbort, onLoad

onFocus

Выполняет код JavaScript при возникновении события focus; то есть, если окно, фрэйм или набор фрэймов получает фокус или если элемент формы получает фокус.

Обработчик события для | Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Select, Submit, Text, Textarea, window
Реализован в | JavaScript 1.0 JavaScript 1.1: обработчик для объектов Button , Checkbox , FileUpload , Frame, Password , Radio , Reset , Submit и window JavaScript 1.2: обработчик для Layer

Синтаксис

onFocus="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

Событие focus может быть результатом работы метода focus, или щелчка мышью по объекту или окну, или при переходе с помощью клавиш табуляции. Выделение в поле даст событие select, а не событие focus. onFocus выполняет код JavaScript при возникновении события focus.

Обработчик onFocus фрэйма переопределяет обработчик onFocus тэга BODY документа, загруженного в этот фрэйм.

Обратите внимание, что помещение диалога alert в обработчик onFocus приводит к рекурсии диалогов alert: если Вы нажимаете OK для выключения alert, окно получает фокус снова и производит новое событие focus.

ПРИМЕЧАНИЕ: В JavaScript 1.1 на некоторых платформах размещение обработчика onFocus в тэге FRAMESET не даст эффекта.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Примеры

Здесь обработчик onFocus используется в объекте valueField Textarea для вызова функции valueCheck.

<INPUT TYPE="textarea" VALUE="" NAME="valueField"

   onFocus="valueCheck()">

См. также примеры для onBlur.

См. также

event, onBlur, onChange

onKeyDown

Выполняет код JavaScript при возникновении события KeyDown; то есть, если пользователь нажимает клавишу на клавиатуре.

Обработчик события для | document, Image, Link, Textarea
Реализован в | JavaScript 1.2

Синтаксис

onKeyDown="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,

screenX, screenY

Для события поверх окна, представляет местонахождение курсора в момент возникновения события. Для события поверх формы, представляет позицию элемента формы.

which

ASCII-значение нажатой клавиши. Для получения реальной буквы, цифры или символа нажатой клавиши используйте метод String.fromCharCode. Для установки этого свойства, когда значение ASCII неизвестно, используйте метод String.charCodeAt.

modifiers

Содержит список клавиш-модификаторов, нажатых при возникновении события.

Описание

Событие KeyDown всегда возникает до события KeyPress. Если onKeyDown возвращает false, событие KeyPress не возникает. Это предотвращает появление событий KeyPress при удерживании пользователем клавиши в нажатом состоянии.

Пример

Здесь использована функция blockA для вычисления символов, введённых с клавиатуры в текстовый бокс textentry. Если пользователь вводит "a" или "A", функция возвращает false, а текстовый бокс не отображает значение.

<form name="main">
   <input name="textentry"
type=text size=10 maxlength=10>
</form>

<script>
function blockA(e) {

var keyChar = String.fromCharCode(e.which);
if (keyChar == 'A' || keyChar == 'a')
return false;

}

document.main.textentry.onkeydown = blockA;
</script>

В этой функции свойство which события присваивает ASCII-значение нажатой пользователем клавиши переменной keyChar. Оператор if вычисляет keyChar и возвращает false для специфицированных символов.

См. также

event, onKeyPress, onKeyUp

onKeyPress

Выполняет код JavaScript при возникновении события KeyPress; то есть, если пользователь удерживает клавишу нажатой.

Обработчик события для | document, Image, Link, Textarea
Реализован в | JavaScript 1.2

Синтаксис

onKeyPress="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,

screenX, screenY

Для события поверх окна представляет местонахождение курсора в момент возникновения события. Для события поверх формы представляет позицию элемента формы.

which

ASCII-значение нажатой клавиши. Для получения реальной буквы, цифры или символа нажатой клавиши используйте метод String.fromCharCode. Для установки этого свойства, когда значение ASCII неизвестно, используйте метод String.charCodeAt.

modifiers

Содержит список клавиш-модификаторов, нажатых при возникновении события.

Описание

Событие KeyPress возникает сразу после события KeyDown только тогда, когда onKeyDown возвращает что-либо, отличное от false. Событие KeyPress возникает повторно до тех пор, пока пользователь не отпустит клавишу. Вы может отменять индивидуальные события KeyPress.

Пример

Здесь метод captureEvents отлавливает ввод с клавиатуры, а обработчик onKeyPress вызывает функцию blockA для проверки нажатий клавиш. Если нажимаются клавиши "a" или "z", функция прокручивает окно Navigator'а.

function blockA(e) {
var keyChar = String.fromCharCode(e.which);

if (keyChar == 'A' || keyChar == 'a')
self.scrollBy(10,10);

else if(keyChar == 'Z' || keyChar == 'z')
self.scrollBy(-10,-10);

else return false;
}

document.captureEvents(Event.KEYPRESS);
document.onkeypress = blockA;

См. также

event, onKeyDown, onKeyUp

onKeyUp

Выполняет код JavaScript при возникновении события KeyUp; то есть, если пользователь отпустил нажатую клавишу.

Обработчик события для | document, Image, Link, Textarea
Реализован в | JavaScript 1.2

Синтаксис

onKeyUp="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,
screenX, screenY

Для события поверх окна представляет местонахождение курсора в момент возникновения события. Для события поверх формы представляет позицию элемента формы.

which

ASCII-значение нажатой клавиши. Для получения реальной буквы, цифры или символа нажатой клавиши используйте метод String.fromCharCode. Для установки этого свойства, когда значение ASCII неизвестно, используйте метод String.charCodeAt.

modifiers

Содержит список клавиш-модификаторов, нажатых при возникновении события.

Пример

Здесь метод captureEvents отлавливает ввод с клавиатуры, а обработчик onKeyUp вызывает функцию Key_Up. Метод alert функции открывает диалоговое окно для отображения значения нажатой клавиши.

function Key_Up(e) {
var keyChar = String.fromCharCode(e.which);

alert("Hold '" + keyChar +"' again for me, okay?");
}
document.onkeyup=Key_Up;

document.captureEvents(Event.KEYUP);

См. также

event

onLoad

Выполняет код JavaScript при возникновении события load; то есть, когда браузер закончил загрузку окна или всех фрэймов тэга FRAMESET.

Обработчик события для | Image, Layer, window
Реализован в | JavaScript 1.0 JavaScript 1.1: обработчик для Image

Синтаксис

onLoad="handlerText"

Параметры

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

Используйте обработчик onLoad в тэге BODY или FRAMESET, например, < BODY onLoad="...">.

Для тэгов FRAMESET и FRAME: событие обработчика onLoad во фрэйме (помещённого в тэг BODY) возникает до onLoad тэга FRAMESET (помещённого в тэг FRAMESET).

Для изображений обработчик onLoad указывает скрипт, исполняемый при выводе изображения. Не путайте вывод изображения с загрузкой изображения. Вы можете загрузить несколько изображений, затем вывести их поочерёдно в одном и том же объекте Image путём установки свойства src объекта. Если Вы изменяете изображение, выводимое таким образом, onLoad выполняется каждый раз при выводе изображения, а не только при загрузке изображений в память.

Если Вы специфицируете обработчик onLoad для объекта Image, который выводит циклическую GIF-анимацию (multi-image GIF), каждый цикл анимации включает обработчик onLoad, и обработчик выполняется однократно для каждого цикла.

Можно использовать обработчик onLoad для создания анимации JavaScript путём повторяющейся установки свойства src объекта Image. См. Image.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

width, height

Для события поверх окна, но не поверх слоя/layer, эти свойства представляют ширину и высоту окна.

Примеры

Пример 1: Вывод сообщения при загрузке страницы. Здесь обработчик onLoad выводит приветствие после загрузки страницы.

<BODY onLoad="window.alert("Welcome to the Brave
New World home page!")>

Пример 2: Вывод сообщения при загрузке изображения. Здесь создаются два объекта Image: один - конструктором Image, а второй - тэгом IMG. Каждый объект Image имеет обработчик onLoad, который вызывает функцию displayAlert, выводящую сообщение. Для изображения, созданного тэгом IMG, диалог alert отображает имя изображения. Для изображения, созданного конструктором Image, alert выводит сообщение без имени изображения. Это происходит из-за того, что обработчик onLoad для объекта, созданного конструктором Image, обязан быть именем функции и он не может специфицировать параметры для функции displayAlert.

<SCRIPT>
imageA = new Image(50,50)
imageA.onload=displayAlert

imageA.src="cyanball.gif"
function displayAlert(theImage) {

   if (theImage==null) {
      alert('An image loaded')

   }
   else alert(theImage.name + ' has been loaded.')
}

</SCRIPT>
<IMG NAME="imageB" SRC="greenball.gif" ALIGN="top"

   onLoad=displayAlert(this)><BR>

Пример 3: Циклический вывод GIF-анимации. Здесь выводится изображение birdie.gif, которое является анимированным изображением GIF. Обработчик onLoad увеличивает переменную cycles, которая отслеживает количество циклов анимации. Чтобы увидеть значение cycles, пользователь щёлкает кнопку Count Loops.

<SCRIPT>
var cycles=0
</SCRIPT>

<IMG ALIGN="top" SRC="birdie.gif" BORDER=0
   onLoad="++cycles">

<INPUT TYPE="button" VALUE="Count Loops"
   onClick="alert('The animation has
looped ' + cycles + ' times.')">

Пример 4: Изменение отображаемой GIF-анимации. Это пример использует обработчик onLoad для ротации шести GIF-анимаций. Каждая анимация показывается как последовательность отдельных объектов Image. Когда документ загружается, выводится !anim0.html. Когда эта анимация завершается, обработчик onLoad вызывает загрузку следующего файла, !anim1.html, вместо первого файла. После завершения последней анимации, !anim5.html, вновь отображается первый файл. Заметьте, что функция changeAnimation не вызывает сама себя после изменения свойства src объекта Image. Это происходит, потому что свойство src изменяется, обработчик onLoad изображения включается и вызывается функция changeAnimation.

<SCRIPT>
var whichImage=0
var maxImages=5
function changeAnimation(theImage) {
   ++whichImage

   if (whichImage <= maxImages) {

      var imageName="!anim" + whichImage + ".gif"

      theImage.src=imageName
   } else {

      whichImage=-1
      return
   }
}
</SCRIPT>
<IMG NAME="changingAnimation"
SRC="!anim0.gif" BORDER=0 ALIGN="top"
   onLoad="changeAnimation(this)">

См. также примеры для Image.

См. также

event, onAbort, onError, onUnload

onMouseDown

Выполняет код JavaScript, когда возникает событие MouseDown; то есть, когда пользователь нажимает клавишу мыши.

Обработчик события для | Button, document, Link
Реализован в | JavaScript 1.2

Синтаксис

onMouseDown="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,

screenX, screenY

Местонахождение курсора в момент возникновения события MouseDown.

which

Представляет 1 для щелчка левой клавиши мыши и 3 - для щелчка правой клавиши.

modifiers

Содержит список клавиш-модификаторов, нажатых в момент возникновения события MouseDown.

Описание

Если onMouseDown возвращает false, акция по умолчанию (вход в режим drag, вход в режим selection или активизация гиперссылки) отменяется.

Активизация вызывается событием MouseDown на гиперссылке. Если ссылка активизирована, она изменяет свой цвет, указывая на новое состояние.

Пример

Здесь пользователь может переместить изображение на странице HTML путём перетаскивания его с помощью мыши. Ваш код HTML определяет изображение и позиционирует его в слое с названием container1. В коде JavaScript обработчики событий устанавливают свойства позиционирования container1 при перетаскивании изображения пользователем, создавая анимацию.

С использованием таблиц стилей/style sheets, изображение первоначально определено и позиционировано так:

<HEAD>
<STYLE type="text/css">
   #container1 {
position:absolute; left:200; top:200}
</STYLE>
</HEAD>

<BODY>

<P ID="container1">
<img src="backgrnd.gif" name="myImage" width=96 height=96>

</P>
</BODY>

В вышеприведённом коде HTML атрибут ID элемента P, который содержит изображение, установлен в container1, делая container1 уникальным идентификатором параграфа и изображения. Тэг STYLE создаёт слой для container1 и позиционирует его.

Следующий код JavaScript определяет обработчики onMouseDown, onMouseUp и onMouseMove:

<SCRIPT>
container1.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);

container1.onmousedown=DRAG_begindrag;
container1.onmouseup=DRAG_enddrag;

var DRAG_lastX, DRAG_lastY, DRAG_dragging;
function DRAG_begindrag(e) {
if (e.which == 1) {

window.captureEvents(Event.MOUSEMOVE);
      window.onmousemove=DRAG_drag;

DRAG_lastX=e.pageX;
DRAG_lastY=e.pageY;
DRAG_dragging=true;
return false;
}
else {

/*Здесь какая-нибудь работа по обработке нажатия правой клавиши мыши*/
return true;
}
}
function DRAG_enddrag(e) {

if (e.which == 1) {
window.releaseEvents(Event.MOUSEMOVE);

window.onmousemove=null
DRAG_dragging=false;
return false;
}
else {

/*Здесь какая-нибудь работа по обработке нажатия правой клавиши мыши*/
return true;
}
}
function DRAG_drag(e) {

if (DRAG_dragging) {
/*Эта функция вызывается только в случае захвата MOUSEMOVE*/

moveBy(e.pageX-DRAG_lastX, e.pageY-DRAG_lastY);
DRAG_lastX = e.pageX;
DRAG_lastY = e.pageY;

return false;
}
else {
return true;
}
}
</SCRIPT>

В этом коде метод captureEvents захватывает события MouseUp и MouseDown. Функции DRAG_begindrag и DRAG_enddrag соответственно вызываются для обработки этих событий.

Если пользователь нажимает левую клавишу мыши, функция DRAG_begindrag стартует, захватывая события MouseMove и сообщая функции DRAG_drag о необходимости их обработки. Затем она присваивает значение свойства pageX события MouseDown свойству DRAG_lastX, значение свойства pageY - свойству DRAG_lastY и true - свойству DRAG_dragging.

Функция DRAG_drag вычисляет DRAG_dragging, чтобы гарантировать, что событие MouseMove было захвачено функцией DRAG_begindrag, затем использует метод moveBy для позиционирования объекта и присваивает значения свойствам DRAG_lastX и DRAG_lastY.

Когда пользователь отпускает левую клавишу мыши, функция DRAG_enddrag останавливает захват событий MouseMove. DRAG_enddrag затем гарантирует, что никакие другие функции не вызываются, устанавливая onmousemove в Null и DRAG_dragging - в false.

См. также

event

onMouseMove

Выполняет код JavaScript, когда возникает событие MouseMove; то есть, когда пользователь перемещает курсор.

Обработчик события для | Объект отсутствует.
Реализован в | JavaScript 1.2

Синтаксис

onMouseMove="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Событие

Поскольку перемещения мыши происходят очень часто, по умолчанию onMouseMove не является обработчиком для какого-либо объекта. Вы можете явно установить его для ассоциирования с определённым объектом.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,

screenX, screenY

Местонахождение курсора в момент возникновения события MouseMove.

Описание

Событие MouseMove высылается только тогда, когда захват события запрашивается объектом. О событиях см. книгу Клиентский JavaScript. Руководство.

Примеры

См. примеры для onMouseDown.

См. также

event, document.captureEvents

onMouseOut

Выполняет код JavaScript, когда возникает событие MouseOut; то есть каждый раз выходе указателя мыши за пределы области (в клиентской карте изображений) или гиперссылки.

Обработчик события для | Layer, Link
Реализован в | JavaScript 1.1

Синтаксис

onMouseOut="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

если указатель мыши переходит из одной области клиентской карты изображений в другую, Вы получите сначала onMouseOut для первой области, а затем onMouseOver - для второй области.

Тэги Area, использующие onMouseOut, обязаны иметь атрибут HREF в тэге AREA.

Вы обязаны возвратить true в обработчике события, если хотите установить свойства status или defaultStatus с помощью onMouseOver.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,

screenX, screenY

Местонахождение курсора в момент возникновения события MouseOut.

Примеры

См. примеры для Link.

См. также

event, onMouseOver

onMouseOver

Выполняет код JavaScript, когда возникает событие MouseOver; то есть всякий раз при проведении указателя мыши над объектом или областью.

Обработчик события для | Layer, Link
Реализован в | JavaScript 1.0 JavaScript 1.1: обработчик для Area

Синтаксис

onMouseOver="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

Если мышь проводится из одной области клиентской карты изображений в другую, Вы получите onMouseOut для первой области, а затем onMouseOver - для второй области.

Тэги Area, использующие onMouseOver, обязаны иметь атрибут HREF в тэге AREA.

Вы обязаны возвратить true в обработчике события, если хотите установить свойства status или defaultStatus с помощью onMouseOver.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,
screenX,
screenY

Местонахождение курсора в момент возникновения события MouseOver.

Примеры

По умолчанию значение HREF якоря отображается в статусной строке в нижней части браузера, когда пользователь помещает указатель мыши над якорем. В следующем примере onMouseOver выводит специальное сообщение "Click this if you dare."

<A href="http://home.netscape.com/"

   onMouseOver="window.status='Click this if you dare!'; return true">

Click me</A>

См. в onClick пример использования onMouseOver, когда атрибут HREF тэга A устанавливается динамически.

См. также примеры для Link.

См. также

event, onMouseOut

onMouseUp

Выполняет код JavaScript, когда возникает событие MouseUp; то есть, когда пользователь отпускает нажатую клавишу мыши.

Обработчик события для | Button, document, Link
Реализован в | JavaScript 1.2

Синтаксис

onMouseUp="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

layerX, layerY,
pageX, pageY,

screenX, screenY

Местонахождение курсора в момент возникновения события MouseUp.

which

Представляет 1 для левой клавиши и 3 - для правой клавиши мыши.

modifiers

Содержит список клавиш-модификаторов, нажатых в момент возникновения события MouseUp.

Описание

Если onMouseUp возвращает false, акция по умолчанию отменяется. Например, если onMouseUp возвращает false при активной гиперссылке, ссылка не включается. Итак, если MouseUp возникает при неактивной гиперссылке (возможно, в том случае, когда onMouseDown возвращает false), ссылка не включается.

ПРИМЕЧАНИЕ: Активизация вызывается событием MouseDown на ссылке. Если ссылка активна, она изменяет свой цвет для отражения нового состояния.

Примеры

См. примеры для onMouseDown.

См. также

event

onMove

Выполняет код JavaScript, когда возникает событие перемещения; то есть, если пользователь или скрипт перемещает окно или фрэйм.

Обработчик события для | window
Реализован в | JavaScript 1.2

Синтаксис

onMove="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

screenX,
screenY

Позиция верхнего левого угла окна или фрэйма.

Пример

Здесь функция open_now создаёт окно myWin и захватывает события Move. Обработчик onMove вызывает другую функцию, которая выводит сообщение, когда пользователь перемещает myWin.

function open_now(){
var myWin;
myWin=window.open("","displayWindow","width=400,height=400,menubar=no,
location=no,alwaysRaised=yes");
var text="<html><head><title>Test</title></head>"
+"<body bgcolor=white><h1>Please move this window</h1></body>"+"</html>";
myWin.document.write(text);
myWin.captureEvents(Event.MOVE);

myWin.onmove=fun2;
}
function fun2(){

alert("Hey you moved me!");
this.focus(); //'this' указывает на текущий объект
}

См. также

event

onReset

Выполняет код JavaScript, когда возникает событие reset; то есть, когда пользователь восстанавливает значения элементов формы (щёлкая кнопку Reset).

Обработчик события для | Form
Реализован в | JavaScript 1.1

Синтаксис

onReset="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Пример

Следующий пример выводит объект Text со значением по умолчанию "CA" и кнопкой reset. Если пользователь вводит аббревиатуру названия штата в объект Text и щёлкает на кнопке reset, восстанавливается оригинальное значение "CA". Обработчик onReset формы выводит сообщение, указывающее, что восстановлены значения по умолчанию.

<FORM NAME="form1" onReset="alert('Defaults have been restored.')">

State:
<INPUT TYPE="text" NAME="state" VALUE="CA" SIZE="2"><P>

<INPUT TYPE="reset" VALUE="Clear Form" NAME="reset1">
</FORM>

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

См. также

event, Form.reset, Reset

onResize

Выполняет код JavaScript, когда возникает событие resize; то есть, когда пользователь или скрипт изменили размер окна или фрэйма.

Обработчик события для | window
Реализован в | JavaScript 1.2

Синтаксис

onResize="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

width, height

Ширина и высота окна или фрэйма.

Описание

Этот обработчик высылается после завершения отображения HTML с новыми размерами внутреннего окна. Это позволяет позиционировать элементы и именованные якоря так, чтобы они имели свои запрашиваемые окончательные размеры и местоположение, свойства SRC изображений могли восстанавливаться динамически и т.д.

Пример

Здесь функция open_now создаёт окно myWin и захватывает события Resize. Обработчик onResize вызывает функцию alert_me, которая выводит сообщение, если пользователь изменяет размер окна myWin.

function open_now(){
var myWin;

myWin=window.open("","displayWin","width=400,height=300,resizable=yes,

menubar=no,location=no,alwaysRaised=yes");
var text="<html><head><title>Test</title></head>"

+"<body bgcolor=white><h1>Please resize me</h1></body>"

+"</html>";
myWin.document.write(text);
myWin.captureEvents(Event.RESIZE);

myWin.onresize=alert_me;
}

function alert_me(){
alert("You resized me! \nNow my outer width: " + this.outerWidth +

"\n and my outer height: " +this.outerHeight);
this.focus();
}

См. также

event

onSelect

Выполняет код JavaScript, когда возникает событие select; то есть, когда пользователь выделяет некоторый текст в поле text или textarea.

Обработчик события для | Text, Textarea
Реализован в | JavaScript 1.0

Синтаксис

onSelect="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Пример

Здесь onSelect используется в Text-объекте valueField для вызова функции selectState.

<INPUT TYPE="text" VALUE="" NAME="valueField" onSelect="selectState()">

См. также

event

onSubmit

Выполняет код JavaScript, когда возникает событие submit; то есть, когда пользователь отправляет форму на сервер.

Обработчик события для | Form
Реализован в | JavaScript 1.0

Синтаксис

onSubmit="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Безопасность

Отправка формы по URL mailto: или news: требует привилегии UniversalSendMail. О безопасности см. книгу Клиентский JavaScript. Руководство.

Описание

Можно использовать onSubmit для предотвращения отправки формы; для этого поместите оператор return, возвращающий false, в этот обработчик события. Любые другие значения разрешают отправку формы. При отсутствии оператора return форма будет отправлена.

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Пример

Здесь onSubmit вызывает функцию validate для вычисления отправляемых данных. Если данные верны, форма отправляется; иначе форма не отправляется.

<FORM onSubmit="return validate(this)">
...
</FORM>

См. также примеры для Form.

См. также

event, Submit, Form.submit

onUnload

Выполняет код JavaScript, когда возникает unload; то есть, когда пользователь выходит из документа.

Обработчик события для | window
Реализован в | JavaScript 1.0

Синтаксис

onUnload="handlerText"

Параметр

handlerText

Код JavaScript или вызов функции JavaScript.

Описание

Используйте onUnload с тэгами BODY или FRAMESET, например, <BODY onUnload="...">.

Относительно фрэймов и набора фрэймов - обработчик onUnload фрэйма (помещённый в тэг BODY) появляется до появления обработчика onUnload набора фрэймов (помещённого в тэг FRAMESET).

Используемые свойства события

Свойство Описание
type

Указывает тип события.

target

Указывает объект, которому событие первоначально было выслано.

Пример

Здесь onUnload вызывает функцию cleanUp для выполнения некоторого процессинга при окончании работы, когда пользователь выходит из страницы (закрывает её):

<BODY onUnload="cleanUp()">

См. также

onLoad

Общую информацию об обработчиках событий см. в книге Клиентский JavaScript. Руководство.

Об объекте event см. event.


Элементы Языка

§ ← → У

Глава 4 Операторы

В это главе описаны все операторы JavaScript. Оператор JavaScript состоит из ключевого слова, используемого с соответствующим синтаксисом. Один оператор может занимать несколько строк. Несколько операторов могут находиться на одной строке, если они разделены символами "точка с запятой".

Глава 5 Операции

В JavaScript имеются операции присвоения, сравнения, арифметические, побитовые, логические, строковые и специальные. В данной главе рассматриваются


Операторы

4. Операторы

§ ← → У

В этой главе рассмотрены все операторы JavaScript. Оператор JavaScript состоит из ключевого слова, используемого с соответствующим синтаксисом. Один оператор может занимать несколько строк. Несколько оператором могут располагаться на одной строке, если отделены символом (;).

Соглашения по синтаксису: Все ключевые слова синтаксиса операторов вводятся жирным шрифтом. Слова шрифтом italic представляют пользовательские имена и операторы. Любой участок в угловых скобках [ ], является необязательным. {statements} указывает на блок операторов, который может состоять из одного и более операторов, заключённых в фигурные скобки { }.

В таблице перечислены операторы JavaScript.

Таблица 4.1 Операторы JavaScript
break

Прерывает текущий цикл while или for и передаёт управление оператору, идущему после прерванного цикла.

comment

Авторский комментарий, объясняющий работу скрипта. Комментарии игнорируются интерпретатором.

continue

Прерывает выполнение блока операторов while или for и продолжает выполнение цикла со следующей итерации.

do...while

Выполняет специфицированные операторы, пока проверяемое условие не станет false. Этот блок операторов выполняется минимум один раз.

export

Даёт возможность помеченному скрипту предоставлять свойства, функции и объекты другим помеченным и непомеченным скриптам.

for

Создаёт цикл, который состоит из трёх необязательных выражений в скобках, разделённых символом (;), и блока операторов.

for...in

Итерирует специфицированную переменную по всем свойствам объекта. Для каждого свойства отдельно JavaScript выполняет специфицированные операторы.

function

Объявляет функцию со специфицированными параметрами. В качестве параметров принимаются строки, числа и объекты.

if...else

Выполняет блок операторов, если специфицированное условие true. Если условие false, может быть выполнен другой набор операторов.

import

Даёт скрипту возможность импортировать свойства, функции и объекты из помеченного скрипта, который экспортирует эту информацию.

label

Предоставляет идентификатор, который может использоваться с break или continue для указания места, где программа должна продолжит выполнение.

return

Специфицирует значение, возвращаемое функцией.

switch

Позволяет программе вычислять выражение и пытается сопоставить значение выражение с лэйблом case.

var

Объявляет переменную и, по выбору, может инициализировать её.

while

Создаёт цикл, который вычисляет выражение и, если оно true, выполняет блок операторов. Затем цикл повторяется, пока специфицированное условие true.

with

Устанавливает объект по умолчанию для набора операторов.

break

Используется для прерывания операторов цикла, switch или label.

Прерывает текущий оператор цикла, switch или label и передаёт управление оператору, идущему непосредственно после прерванного цикла.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

break [label]

Параметр

label

Идентификатор, ассоциированный с лэйблом/меткой оператора.

Описание

Оператор break может содержать лэйбл, который позволяет прервать выполнение помеченного лэйблом оператора. Операторы в помеченном операторе могут быть любого типа.

Примеры

Пример 1. Эта функция имеет оператор break, который прерывает цикл while, когда e равно 3, и возвращает значение 3 * x.

function testBreak(x) {
   var i = 0
   while (i < 6) {
      if (i == 3)
         break
      i++
   }
   return i*x
}

Пример 2. Оператор, помеченный как checkiandj, содержит помеченный оператор checkj. Если обнаружен break, программа прерывает выполнение оператора checkj и продолжает выполнение оставшейся части оператора checkiandj. Если бы break имел метку checkiandj, программа могла бы прервать выполнение оператора checkiandj и продолжить выполнение с оператора, идущего после checkiandj.

checkiandj :
   if (4==i) {
      document.write("You've entered " + i + ".<BR>");
      checkj :
         if (2==j) {
            document.write("You've entered " + j + ".<BR>");
            break checkj;
            document.write("The sum is " + (i+j) + ".<BR>");
         }
      document.write(i + "-" + j + "=" + (i-j) + ".<BR>");
   }

См. также

continue, label, switch

comment

Авторский комментарий работы скрипта. Комментарии игнорируются интерпретатором.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

// текст однострочного комментария

/* многострочный текст комментария */

Описание

JavaScript поддерживает комментарии в стиле Java:

  • Однострочный комментарий начинается с двойного слэша (//)
  • Многострочный комментарий находится в пределах символов /* и */

Примеры

// Это однострочный комментарий.

/* Это многострочный комментарий. Он может быть любого размера и,
Вы можете размещать его где угодно. */

continue

Рестартует оператор while, do-while, for или label.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

continue [label]

Параметр

label

Идентификатор, ассоциированный с лэйблом оператора.

Описание

В отличие от оператора break, continue не прекращает выполнение цикла: вместо этого,

  • в цикле while он переходит обратно на выражение condition/условие.
  • в цикле for переходит на выражение update.

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

Примеры

Пример 1. Здесь цикл while имеет оператор continue, который выполняется, когда значение i равно 3. Таким образом, n получает значения 1, 3, 7 и 12.

i = 0
n = 0
while (i < 5) {
   i++
   if (i == 3)
      continue
   n += i
}

Пример 2. Оператор, помеченный checkiandj, содержит оператор, помеченный checkj. Если обнаружен continue, программа продолжает выполнение от начала оператора checkj. Каждый раз при вычислении continue выполняется итерация оператора checkj, пока условие не возвратит false. Если возвращено false, выполняется остальная часть оператора checkiandj.
checkiandj реитерирует, пока его условие не возвратит false. Если возвращено false, программа продолжает выполнение с оператора, идущего после оператора checkiandj.

Если continue имеет метку на checkiandj, программа может продолжить выполнение от начала оператора checkiandj.

checkiandj :
while (i<4) {
   document.write(i + "<BR>");
   i+=1;
   checkj :
   while (j>4) {
      document.write(j + "<BR>");
      j-=1;
      if ((j%2)==0)
         continue checkj;
      document.write(j + " is odd.<BR>");
   }
   document.write("i = " + i + "<br>");
   document.write("j = " + j + "<br>");
}

См. также

break, label

do...while

Выполняет специфицированные операторы, пока тестируемое условие не возвратит false. Операторы выполняются минимум один раз.

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

do
   statements
while (condition);

Параметры

statements

Блок операторов, выполняемый минимум один раз и выполняемый неоднократно, пока условие возвращает true.

condition

Условие. Вычисляется при после каждого прохода цикла. Если condition вычисляется в true, операторы предыдущего блока выполняются снова. Если condition вычисляется в false, управление передаётся оператору, идущему после do while.

Пример

Цикл do итерирует как минимум один раз и повторяет итерации до тех пор, пока i не станет больше 5.

do {
   i+=1
   document.write(i);
while (i<5);

export

Даёт возможность помеченному скрипту предоставлять свои свойства, функции и объекты другим помеченным и непомеченным скриптам.

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

export name1, name2, ..., nameN
export *

Параметры

nameN

Список экспортируемых свойств, функций и объектов.

*

Экспортировать все свойства, функции и объекты скрипта.

Описание

Обычно информация в помеченном скрипте доступна только для скриптов, помеченных теми же принципалами. Экспортируя свойства, функции или объекты, помеченный скрипт делает эту информацию доступной любому скрипту (помеченному или непомеченному). Получающий скрипт использует оператор import для доступа к этой информации.

См. также

import

for

Создаёт цикл, состоящий из трёх необязательных выражений в скобках, после которых идёт блок операторов цикла.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

for ([initial-expression]; [condition]; [increment-expression]) {
   statements
}

Параметры

initial-expression

Оператор или объявление переменной. Обычно используется для инициализации переменной счётчика цикла. Это выражение может объявлять новые переменные с помощью ключевого слова var. Эти переменные являются локальными для функции, а не (только) цикла.

condition

Условие, вычисляемое при каждом проходе цикла. Если condition вычисляется в true, выполняются операторы в statements. Эта условная проверка не обязательна. При её отсутствии условие всегда вычисляется в true.

increment-expression

Обычно используется для обновления или инкремента переменной-счётчика.

statements

Блок операторов, выполняемых, пока условие вычисляется в true. Это может быть один или несколько операторов. Хотя это и не требуется, хорошим тоном будет отделение (при записи кода) этих операторов от начала оператора for.

Пример

Оператор for стартует с объявления переменной i и инициализирует её в 0. Он проверяет, что i меньше 9, выполняет два следующих оператора и выполняет инкремент i на 1 после каждого прохода цикла.

for (var i = 0; i < 9; i++) {
   n += i
   myfunc(n)
}

for...in

Итерирует специфицированную переменную по всем свойствам объекта. Для каждого свойства JavaScript отдельно выполняет специфицированные операторы.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

for (variable in object) {
   statements
}

Параметры

variable

Переменная для итерации по каждому свойству, объявленная с помощью ключевого слова var. Эта переменная локальна относительно функции, а не (только) цикла.

object

Объект, по свойствам которого производится итерация.

statements

Специфицирует операторы, выполняемые для каждого свойства.

Пример

Эта функция принимает в качестве аргументов объект и имя объекта. Затем происходит итерация по всем свойствам объекта и возвращается строка - список имён и значений свойств.

function show_props(obj, objName) {
   var result = ""
   for (var i in obj) {
      result += objName + "." + i + " = " + obj[i] + "\n"
   }
   return result
}

function

Объявляет функцию со специфицированными параметрами. В качестве параметров принимаются строки, числа и объекты.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

function name([param] [, param] [..., param]) {
   statements
}

Вы можете также определить функцию с использованием конструктора Function; см. "Function".

Параметры

name

Имя функции.

param

Имя аргумента, передаваемого функции. Функция может иметь до 255 аргументов.

statements

Операторы, образующие тело функции.

Описание

Чтобы возвращать значение, функция обязана иметь оператор return, который специфицирует возвращаемое значение.

Функция, созданная оператором function, это Function-объект, имеющий все свойства, методы и поведение объекта Function. См. "Function".

Пример

Объявляется функция, которая возвращает общую сумму от продаж в долларах при данном количестве проданных продуктов a, b и c.

function calc_sales(units_a, units_b, units_c) {
   return units_a*79 + units_b*129 + units_c*699
}

См. также

"Function".

if...else

Выполняет набор операторов, если специфицированное условие true. Если условие false, может быть выполнен другой набор операторов.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

if (condition) {
   statements1
}
[else {
   statements2
}]

Параметры

condition

Любое выражение JavaScript, которое вычисляется до true или false. Скобки вокруг условия обязательны. Если условие true, выполняются операторы в блоке statements1.

statements1,
statements2

Любые операторы JavaScript, включая вложенные операторы if. Несколько операторов обязаны заключаться в фигурные скобки.

Описание

Вы не должны использовать простое присвоение в условном операторе. Например, не используйте такой код:

if(x = y)
{
   /* здесь - операторы */
}

Если Вам необходимо использовать присвоение в условном операторе, поместите дополнительные скобки вокруг операции присвоения. Например, if( (x = y) ).

Обратная совместимость

JavaScript 1.2 и более ранние версии. Вы можете использовать простое присвоение в условном операторе. Операция присвоения в условном операторе конвертируется в операцию равенства. Например, if(x = y) конвертируется в if(x == y). В Navigator это выражение выводит также диалоговое окно с текстом "Test for equality (==) mistyped as assignment (=)? Assuming equality test."

Пример

if (cipher_char == from_char) {
   result = result + to_char
   x++}
else
   result = result + clear_char

import

Даёт скрипту возможность импортировать свойства, функции и объекты из другого, помеченного, скрипта, экспортирующего информацию.

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

import objectName.name1, objectName.name2, ..., objectName.nameN
import objectName.*

Параметры

objectName

Имя объекта, который будет принимать импортируемые имена.

name1,
name2,
nameN

Список свойств, функций и объектов, импортируемых из экспортирующего файла.

*

Импортирует все свойства, функции и объекты из экспортирующего скрипта.

Описание

Параметр objectName это имя объекта, который будет принимать импортируемые имена. Например, если f и p были экспортированы и если obj это объект импортирующего скрипта, следующий код принимает f и p в импортирующем скрипте как свойства объекта obj.

import obj.f, obj.p

Обычно информация в помеченном скрипте доступна только скриптам, помеченным теми же принципалами. Экспортируя (используя оператор export) свойства, функции или объекты, помеченный скрипт делает эту информацию доступной любым скриптам (помеченным или непомеченным). Принимающий скрипт использует оператор import для доступа к этой информации.

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

См. также

export

label

Предоставляет оператор с идентификатором, позволяющий обратиться к нему в любом месте Вашей программы.

Реализован в

JavaScript 1.2, NES 3.0

Например, вы можете использовать label для идентифицирования цикла, а затем использовать операторы break или continue для указания на место, где программа должна прервать цикл или продолжить выполнение.

Синтаксис

label :
   statements

Параметры

label

Любой верный идентификатор JavaScript, не являющийся зарезервированным словом.

statements

Блок операторов. break может использоваться с любым помеченным оператором, а continue - с помеченными циклическими операторами.

Примеры

См. примеры для break и для continue.

См. также

break, continue

return

Специфицирует возвращаемое функцией значение.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

return expression

Параметр

expression

Выражение, возвращающее значение.

Пример

Здесь функция возвращает квадратный корень своего аргумента x, где x это число.

function square(x) {
   return x * x
}

switch

Позволяет вычислять выражение и пытается найти совпадение этого выражения в метке case.

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

switch (expression){
   case label :
      statements;
      break;
   case label :
      statements;
      break;
   ...
   default : statements;
}

Параметры

expression

Значение, проверяемое на совпадение с меткой label.

label

Идентификатор, используемый для совпадения с выражением.

statements

Блок операторов, выполняемых однократно, если expression совпадает с label.

Описание

Если совпадение найдено, программа выполняет ассоциированный оператор. Если предоставленное значение совпадает с несколькими case, выбирается первый найденный case, даже если cases не равны друг другу.

Программа сначала ищет label, совпадающий со значением выражения, а затем выполняет ассоциированный оператор. Если совпадающий label не найден, программа проверяет наличие необязательного оператора по умолчанию, и, если он найден, выполняет ассоциированный оператор. Если оператор по умолчанию не найден, программа продолжает выполнение с оператора, следующего после окончания switch.

Необязательный оператор break, ассоциированный с меткой case, гарантирует, что программа выйдет из блока switch после выполнения совпавшего оператора и продолжит выполнение с оператора, идущего после switch. Если break отсутствует, программа выполняет следующий оператор в блоке switch.

Пример

Здесь, если expression вычисляется в "Bananas", программа находит совпадение с case "Bananas" и выполняет ассоциированный оператор. Если обнаружен break, программа выходит из блока switch и выполняет оператор, следующий после switch. Если break отсутствует, операторы для case "Cherries" также будут выполнены.

switch (i) {
   case "Oranges" :
      document.write("Oranges are $0.59 a pound.<BR>");
      break;
   case "Apples" :
      document.write("Apples are $0.32 a pound.<BR>");
      break;
   case "Bananas" :
      document.write("Bananas are $0.48 a pound.<BR>");
      break;
   case "Cherries" :
      document.write("Cherries are $3.00 a pound.<BR>");
      break;
   default :
      document.write("Sorry, we are out of " + i + ".<BR>");
}
document.write("Is there anything else you'd like?<BR>");

var

Объявляет переменную и может также инициализировать её.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

var varname [= value] [..., varname [= value] ]

Параметры

varname

Имя переменной. Это любой верный идентификатор.

value

Начальное значение переменной - любое верное выражение.

Описание

Область видимости переменной - текущая функция или, для переменных, объявленных вне функции, - текущее приложение.

Использовать var вне функций не обязательно; Вы можете объявить переменную, просто присвоив ей значение. Однако хорошим стилем будет использование var, который необходим в функциях при следующих обстоятельствах:

  • Если имеется глобальная переменная с тем же именем.
  • Если при рекурсии (или несколькими функциями) используются переменные с тем же именем.

Пример

var num_hits = 0, cust_no = 0

while

Цикл для вычисления выражения; если оно true, выполняется блок операторов. Затем цикл повторяется, пока специфицированное условие true.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

while (condition) {
   statements
}

Параметры

condition

Условие, вычисляемое перед проходом цикла. Если оно true, выполняются операторы последующего блока. Если condition - false, выполняются операторы, идущие после statements.

statements

Блок операторов, выполняемых, пока condition вычисляется в true. Хотя это и не требуется, хорошей практикой может быть делать отступ этих операторов относительно начала оператора.

Примеры

Этот цикл while итерирует, пока n меньше трёх.

n = 0
x = 0
while(n < 3) {
   n ++
   x += n
}

При каждой итерации цикл увеличивает n и прибавляет её к x. Следовательно, x и n получают следующие значения:

  • После первого прохода: n = 1 и x = 1
  • После второго прохода: n = 2 и x = 3

  • После третьего прохода: n = 3 и x = 6

после третьего прохода условие n < 3 больше не true, поэтому цикл завершается.

with

Устанавливает объект по умолчанию для набора операторов.

Реализован в | JavaScript 1.0, NES 2.0
Версия ECMA | ECMA-262

Синтаксис

with (object){
   statements
}

Параметры

object

Специфицирует объект по умолчанию для использования в операторах. Скобки вокруг объекта необходимы.

statements

Любой блок операторов.

Описание

JavaScript просматривает любые неквалифицированные имена в наборе операторов, чтобы определить, являются ли имена свойствами объекта по умолчанию. Если неквалифицированное имя совпадает со свойством, то это свойство используется в операторе; иначе используется локальная или глобальная переменная.

Пример

Этот оператор with специфицирует объект Math как объект по умолчанию. После этого операторы ссылаются на свойство PI и на методы cos и sin без специфицирования объекта. JavaScript принимает объект Math для этих ссылок.

var a, x, y
var r=10
with (Math) {
   a = PI * r * r
   x = r * cos(PI)
   y = r * sin(PI/2)
}


Операции

5. Операции

§ ← → У

В JavaScript имеются операции присвоения, сравнения, арифметические, побитовые/bitwise, логические, строковые и специальные. В этой главе рассматриваются эти операции и содержится информация о приоритете операций.

В таблице дано резюме по операциям JavaScript.

Таблица 5.1 Операции JavaScript
Категория Операции Операция Описание

Арифметические

+

(Сложение) Складывает два числа.

++

(Инкремент) Прибавляет 1 к переменной, представляющей число (возвращая новое или старое значение переменной).

-

(Унарное отрицание, вычитание) Как унарная операция отрицает значение аргумента. Как бинарная - вычитает второй аргумент из первого.

--

(Декремент) Вычитает 1 из переменной, представляющей число (возвращая новое или старое значение переменной).

*

(Умножение) Перемножает два числа.

/

(Деление) Делит одно число на другое.

%

(Modulus) Вычисляет целочисленный остаток от деления двух чисел.

Строковые

+

(Сложение строк/Конкатенация) Объединяет две строки.

+=

Объединяет две строки и присваивает результат первому операнду.

Логические

&&

(Логическое И) Возвращает первый операнд, если он может быть конвертирован в false; иначе возвращает второй операнд. При использовании с Булевыми значениями && возвращает true, если оба операнда true; иначе возвращает false.

||

(Логическое ИЛИ) Возвращает первый операнд, если он может быть конвертирован в false; иначе возвращает второй операнд. При использовании с Булевыми значениями || возвращает true, если любой из операндов true; если оба false, возвращает false.

!

(Логическое НЕ) Возвращает false, если единственный операнд может быть конвертирован в true; иначе возвращает true.

Побитовые

&

(Побитовое И) Возвращает 1 в каждой битовой позиции, если биты обоих операндов равны единице.

^

(Побитовое исключающее ИЛИ) Возвращает 1 в каждой битовой позиции, если бит одного, но не обоих операндов равен 1.

|

(Побитовое ИЛИ) Возвращает 1 в битовой позиции, если бит любого операнда равен 1.

~

(Побитовое НЕ) Инвертирует биты операнда.

<<

(Сдвиг влево) Сдвигает влево первый операнд, в двоичном представлении, на количество битов, специфицированное вторым операндом, заполняя справа нулями.

>>

(Сдвиг вправо с сохранением знака) Сдвигает вправо первый операнд, в двоичном представлении, на количество битов, специфицированное вторым операндом, отбрасывая сдвинутые биты.

>>>

(Сдвиг вправо с заполнением нулями) Сдвигает вправо первый операнд, в двоичном представлении, на количество битов, специфицированное вторым операндом, отбрасывая сдвинутые биты и заполняя нулями слева.

Операции Присвоения

=

Присваивает значение второго операнда первому операнду.

+=

Складывает два числа и присваивает результат первому.

-=

Вычитает два числа и присваивает результат первому.

*=

Умножает два числа и присваивает результат первому.

/=

Делит два числа и присваивает результат первому.

%=

Вычисляет целочисленный остаток от деления двух чисел и присваивает результат первому.

&=

Выполняет побитовое AND и присваивает результат первому операнду.

^=

Выполняет побитовое XOR и присваивает результат первому операнду.

|=

Выполняет побитовое OR и присваивает результат первому операнду.

<<=

Выполняет побитовый сдвиг влево и присваивает результат первому операнду.

>>=

Выполняет побитовый сдвиг вправо с сохранением знака и присваивает результат первому операнду.

>>>=

Выполняет побитовый сдвиг вправо с заполнением нулями и присваивает результат первому операнду.

Операции Сравнения

==

Возвращает true, если операнды равны.

!=

Возвращает true, если операнды не равны.

===

Возвращает true, если операнды равны и одного типа.

!==

Возвращает true, если операнды не равны и/или не одного типа.

>

Возвращает true, если левый операнд больше правого.

>=

Возвращает true, если левый операнд больше правого или равен ему.

<

Возвращает true, если левый операнд меньше.

<=

Возвращает true, если левый операнд меньше правого или равен ему.

Специальные Операции

?:

Выполняет простой оператор "if...then...else"

,

Вычисляет два выражения и возвращает результат второго выражения.

delete

Удаляет объект, свойство объекта или элемент по специфицированному индексу в массиве.

new

Создаёт экземпляр объекта определённого пользователем типа или одного из встроенных типов.

this

Ключевое слово, которое можно использовать для обращения к текущему объекту.

typeof

Возвращает строку, указывающую тип невычисленного операнда.

void

Специфицирует выражение, вычисляемое без возвращения значения.

Операции Присвоения

Операция присвоения присваивает значение левому операнду на основе значения правого операнда.

Реализованы в | JavaScript 1.0
Версия ECMA | ECMA-262

Базовая операция присвоения это равенство (=), которая присваивает значение правого операнда левому операнду. То есть x = y присваивает значение y переменной x. Другие операции присвоения являются обычно сокращениями стандартной операции, как показано в таблице:

Таблица 5.2 Сокращённые Операции Присвоения
Сокращённая операция Значение
x += y
x = x + y
x -= y
x = x - y
x *= y
x = x * y
x /= y
x = x / y
x %= y
x = x % y
x <<= y
x = x << y
x >>= y
x = x >> y
x >>>= y
x = x >>> y
x &= y
x = x & y
x ^= y
x = x ^ y
x |= y
x = x | y

В нестандартных ситуациях оператор присвоения не идентичен значению из колонки "Значение" Таблицы 5.2. Если левый операнд операции присвоения сам содержит операцию присвоения, он вычисляется только однократно. Например:

a[i++] += 5         //i вычисляется только один раз
a[i++] = a[i++] + 5 //i вычисляется дважды

Операции Сравнения

Операция сравнения сравнивает операнды и возвращает логическое значение на основе того, является ли сравнение true.

Реализованы в | JavaScript 1.0 JavaScript 1.3: добавлены операции === и !==
Версия ECMA | ECMA-262 содержит все операции сравнения, за исключением === и !==

Операнды могут быть числами или строками. Строки сравниваются на основе стандартного лексикографического (словарного) порядка с использованием Unicode-значений.

Булево значение возвращается как результат сравнения.

  • Две строки равны, если они имеют одинаковые последовательности символов, одинаковые размеры и одинаковые символы в соответствующих позициях.
  • Два числа равны, если они равны численно (имеют одинаковые числовые значения). NaN не равно ничему, включая само NaN. Положительные и отрицательные нули равны.
  • Два объекта равны, если они ссылаются на один Object.
  • Два Булевых операнда равны, если они оба true или оба false.
  • Типы Null и Undefined равны.

В таблице дано резюме по операциям сравнения.

Таблица 5.3 Операции Сравнения
Операция Описание Примеры, возвращающие true1

Равно (==)

Возвращает true, если операнды равны. Если операнды имеют разные типы, JavaScript пытается конвертировать операнды в подходящий тип для выполнения сравнения.

3 == var1
"3" == var1
3 == '3'

Не равно (!=)

Возвращает true, если операнды не равны. Если операнды имеют разные типы, JavaScript пытается конвертировать операнды в подходящий тип для выполнения сравнения.

var1 != 4
var1 != "3"

Строго равно (===)

Возвращает true, если операнды равны и одного типа.

3 === var1

Строго не равно (!==)

Возвращает true, если операнды не равны и/или разных типов.

var1 !== "3"
3 !== '3'

Больше (>)

Возвращает true, если левый операнд больше правого.

var2 > var1

Больше или равно (>=)

Возвращает true, если левый операнд больше правого или равен ему.

var2 >= var1
var1 >= 3

Меньше (<)

Возвращает true, если левый операнд меньше правого.

var1 < var2

Меньше или равно (<=)

Возвращает true, если левый операнд меньше правого или равен ему.

var1 <= var2
var2 <= 5

1 В этих примерах принимается, что var1 имеет значение 3, а var2 имеет значение 4.

Использование Операций Равенства

Стандартные операции равенства (== и !=) сравнивают два операнда без учёта типа. Операции строгого равенства (=== и !==) выполняют сравнение операндов одного типа. Используйте операции строгого равенства если операнды и значения обязаны иметь специфический тип, а также если имеет значение определённый тип операндов. Иначе используйте стандартные операции равенства, которые дают возможность сравнивать два операнда, даже если они имеют разные типы.

Если необходима конвертация типов, JavaScript конвертирует операнды String, Number, Boolean или Object так:

  • При сравнении числа и строки - строка конвертируется в число. JavaScript пытается конвертировать числовой литерал строки в значение типа Number. Сначала математическое значение получается из числового литерала строки. Затем это значение округляется до ближайшего значения типа Number.
  • Если один из операторов имеет тип Boolean, Boolean-операнд конвертируется в 1, если он true, и в +0, если он false.
  • Если объект сравнивается со строкой или числом, JavaScript пытается вернуть значение по умолчанию для объекта. Делается попытка конвертировать объект в примитивное значение, String в Number, с использованием методов valueOf и toString объекта. Если попытка конвертации терпит неудачу, генерируется ошибка времени выполнения.

Обратная Совместимость

Поведение стандартных операций сравнения (== и !=) зависит о версии JavaScript.

JavaScript 1.2. Стандартные операции сравнения (== и !=) не выполняют конвертацию типов перед выполнением сравнения. Операции строго равенства (=== и !==) недоступны.

JavaScript 1.1 и более ранние версии. Стандартные операции сравнения (== и !=) выполняют конвертацию типов перед выполнением сравнения. Операции строго равенства (=== и !==) недоступны.

Арифметические Операции

Арифметические операции принимают в качестве операндов числовые значения (литералы или переменные) и возвращают единственное числовое значение. Стандартные арифметические операции: сложение (+), вычитание (-), умножение (*) и деление (/).

Реализованы в | JavaScript 1.0
Версия ECMA | ECMA-262

Эти операции работают так же, как и в большинстве других языков программирования, за исключением операции /, которая возвращает в JavaScript результат (с плавающей точкой) деления, а не округлённый результат, как в C или Java. Например:

1/2 //в JavaScript возвращает 0.5
1/2 //в Java возвращает 0

% (Modulus/целочисленный остаток)

Операция modulus используется так:

var1 % var2

Операция modulus возвращает первый операнд modulo второй операнд, то есть var1 modulo var2, как в вышеприведённом операторе, где var1 и var2 это переменные. Функция modulo это целочисленный остаток от деления var1 на var2. Например, 12 % 5 возвращает 2.

++ (Инкремент)

Операция инкремента выполняется так:

var++ или ++var

Эта операция выполняет инкремент (прибавляет 1) операнда и возвращает его значение. Если это постфикс, когда операция находится после операнда (например, x++), возвращается значение, которое было до выполнения инкремента. Если используется префикс (например, ++x), возвращается значение, полученное после выполнения инкремента.

Например, если x равен 3, то оператор y = x++ устанавливает в y 3 и выполняет инкремент x до 4. Если x равен 3, то оператор y = ++x выполняет инкремент x до 4 и устанавливает в переменную y значение 4.

-- (Декремент)

Операция декремента используется так:

var-- или --var

Эта операция выполняет декремент (вычитает 1) операнда и возвращает его значение. Если это постфикс, когда операция находится после операнда (например, x--), возвращается значение, которое было до выполнения декремента. Если используется префикс (например, --x), возвращается значение, полученное после выполнения декремента.

Например, если x равен 3, оператор y = x-- устанавливает в y значение 3 и выполняет декремент x до 2. Если x равен 3, оператор y = --x выполняет декремент x до 2 и устанавливает в переменную y значение 2.

- (Унарное Отрицание)

Операция унарного отрицания находится впереди операнда и выполняет его отрицание. Например, y = -x отрицает (меняет знак) значения x и присваивает его переменной y; то есть, если x равен 3, y получает значение -3, а значение x остаётся равным 3.

Побитовые Операции

Побитовые операции рассматривают каждый операнд как набор из 32 битов (0 и 1), а не как десятеричное, 16-ричное или 8-ричное число. Например, 10-ричное число 9 имеет двоичное представление 1001. Побитовые операции выполняются над такими двоичными представлениями чисел, но возвращают стандартные числовые значения JavaScript.

Таблица 5.4 Побитовые Операции
Операция Использование Описание

AND

a & b

Возвращает 1 в каждой битовой позиции, где оба бита операндов равны 1.

OR

a | b

Возвращает 1 в каждой битовой позиции, где один или оба бита операндов равны 1.

XOR

a ^ b

Возвращает 1 в каждой битовой позиции, где один, но не оба бита операндов равен 1.

NOT

~ a

Инвертирует биты операнда.

Сдвиг влево

a << b

Сдвигает a в двоичном представлении на b битов влево, заполняя справа нулями.

Сдвиг вправо с сохранением знака

a >> b

Сдвигает a в двоичном представлении на b битов вправо, отбрасывая сдвинутые биты.

Сдвиг вправо с заполнением нулями

a >>> b

Сдвигает a в двоичном представлении на b битов вправо, отбрасывая сдвинутые биты и заполняя слева нулями.

Побитовые Логические Операции

Реализованы в | JavaScript 1.0
Версия ECMA | ECMA-262

Концептуально побитовые логические операции работают так:

  • Операнды конвертируются в 32-битные целые числа и выражаются сериями битов (0 и 1).
  • Каждый бит первого операнда образует пару с битом второго операнда в этой же позиции: первый с первым, второй со вторым и т.д.
  • Операция выполняется для каждой пары битов, и результат конструируется побитно.

Например, двоичное представление 9 выглядит как 1001, а представление 15 - как 1111. Поэтому при выполнении побитовых операций с этими значениями, результаты будут такими:

  • 15 & 9 даёт 9 (1111 & 1001 = 1001)
  • 15 | 9 даёт 15 (1111 | 1001 = 1111)
  • 15 ^ 9 даёт 6 (1111 ^ 1001 = 0110)

Операции Побитового Сдвига

Реализованы в | JavaScript 1.0
Версия ECMA | ECMA-262

Операции побитового сдвига принимают два операнда: первый операнд сдвигается, а второй специфицирует количество битовых позиций, на которое сдвигается первый операнд. Направление операции сдвига контролируется самой операцией.

Операции сдвига конвертируют операнды в 32-битные целые числа, и возвращают результат того же типа, что у левого операнда.

<< (Сдвиг влево)

Эта операция сдвигает влево первый операнд на специфицированное вторым операндом количество бит. Излишние биты, сдвинутые влево, отбрасываются. Справа заполнение идёт нулями.

Например, 9<<2 даёт 36, поскольку 1001, сдвинутое на 2 бита влево становится 100100, что равно 36.

>> (Сдвиг вправо с сохранением знака)

Эта операция сдвигает вправо первый операнд на специфицированное вторым операндом количество бит. Излишние биты, сдвинутые вправо, отбрасываются. Копии самых левых битов вставляются слева.

Например, 9>>2 даёт 2, поскольку 1001, сдвинутое на 2 позиции вправо, становится 10, то есть 2. Аналогично, -9>>2 даёт -3, поскольку знак сохраняется.

>>> (Сдвиг вправо с заполнением нулями)

Эта операция сдвигает вправо первый операнд на специфицированное вторым операндом количество бит. Излишние биты, сдвинутые вправо, отбрасываются. Слева заполнение идёт нулями.

Например, 19>>>2 даст 4, поскольку 10011, сдвинутое на два бита вправо даст 100, то есть 4. Для неотрицательных значений сдвиг вправо с заполнением нулями и сдвиг вправо с сохранением знака дают один результат.

Логические Операции

Логические операции обычно выполняются над Булевыми (логическими) значениями; при этом возвращается Булево значение. Однако операции && и || в действительности возвращают значение одного из специфицированных операндов, поэтому, если эти операции используются с не-Булевыми значениями, они могут возвратить не-Булево значение.

Реализованы в | JavaScript 1.0
Версия ECMA | ECMA-262

Логические операции описаны в следующей таблице.

Таблица 5.5 Логические Операции
Операция Использование Описание

&&

expr1 && expr2

(Логическое AND/И) Возвращает expr1, если может быть конвертировано в false; иначе возвращает expr2. Таким образом, при использовании с Булевыми значениями, && возвращает true, если оба операнда true; иначе возвращает false.

||

expr1 || expr2

(Логическое OR/ИЛИ) Возвращает expr1, если может быть конвертировано в false; иначе возвращает expr2. Таким образом, при использовании с Булевыми значениями, || возвращает true, если хотя бы один из операндов true; если оба false, возвращает false.

!

!expr

(Логическое NOT/НЕ) Возвращает false, если единственный операнд может быть конвертирован в true; иначе возвращает true.

Примерами выражений, которые могут быть конвертированы в false, являются те, которые вычисляются в null, 0, пустую строку ("") или undefined.

Хотя операции && и || могут использоваться с не-Булевыми операндами, они (операции) считаются всё же Булевыми, поскольку их return-значения всегда могут быть конвертированы в Boolean.

Сокращённый цикл вычислений. Поскольку логические выражения вычисляются слева направо, они проверяются на возможность "сокращённого/short-circuit" вычисления по следующим правилам:

  • false && anything сокращённо вычисляется в false.
  • true || anything сокращённо вычисляется в true.

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

Обратная Совместимость

JavaScript 1.0 и 1.1. Операции && и || работают так:

Операция | Поведение
&& | Если первый операнд (expr1) может быть конвертирован в false, операция && возвращает false, а не значение выражения expr1.
|| | Если первый операнд (expr1) может быть конвертирован в true, операция || возвращает true, а не значение выражения expr1.

Примеры

Вот примеры операции && (логическое И).

a1=true && true       // t && t возвращает true
a2=true && false      // t && f возвращает false
a3=false && true      // f && t возвращает false
a4=false && (3 == 4)  // f && f возвращает false
a5="Cat" && "Dog"     // t && t возвращает Dog
a6=false && "Cat"     // f && t возвращает false
a7="Cat" && false     // t && f возвращает false

Далее идут примеры операции || (логическое ИЛИ).

o1=true || true       // t || t возвращает true
o2=false || true      // f || t возвращает true
o3=true || false      // t || f возвращает true
o4=false || (3 == 4)  // f || f возвращает false
o5="Cat" || "Dog"     // t || t возвращает Cat
o6=false || "Cat"     // f || t возвращает Cat
o7="Cat" || false     // t || f возвращает Cat

А это примеры операции ! (логическое НЕ).

n1=!true              // !t возвращает false
n2=!false             // !f возвращает true
n3=!"Cat"             // !t возвращает false

Строковые Операции

В дополнение к операциям сравнения, которые могут использоваться со строковыми значениями, операция конкатенации (+) объединяет две строки в одну, возвращая эту новую строку как результат объединения двух строк-операндов. Например, "my " + "string" возвращает строку "my string".

Реализована в | JavaScript 1.0
Версия ECMA | ECMA-262

Сокращённый оператор += также может использоваться для конкатенации строк. Например, если переменная mystring имеет значение "alpha", то выражение mystring += "bet" вычисляется в "alphabet" и присваивается переменной mystring.

Специальные Операции

?: (Условная операция)

Условная операция - единственная в JavaScript, принимающая три операнда. Эта операция часто используется как аббревиатура оператор if.

Реализована в | JavaScript 1.0
Версия ECMA | ECMA-262

Синтаксис

condition ? expr1 : expr2

Параметры

condition

Выражение, вычисляемое в true или false.

expr1, expr2

Выражения со значениями любого типа.

Описание

Если condition равно true, операция возвращает значение expr1; иначе она возвращает значение expr2. Например, для вывода различных сообщений на основе значения переменной isMember Вы можете использовать такой оператор:

document.write ("The fee is " + (isMember ? "$2.00" : "$10.00"))

, (Операция "запятая")

Операция "запятая" вычисляет оба операнда и возвращает значение второго операнда.

Реализована в | JavaScript 1.0
Версия ECMA | ECMA-262

Синтаксис

expr1, expr2

Параметры

expr1, expr2

Любые выражения.

Описание

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

Например, если a это 2-мерный массив из 10 элементов по измерению, следующий код использует операцию, для инкремента двух переменных за раз. Код печатает значения элементов по диагонали массива:

for (var i=0, j=9; i <= 9; i++, j--)
   document.writeln("a["+i+","+j+"]= " + a[i,j])

delete

Операция delete удаляет объект, свойство объекта или элемент массива по специфицированному индексу.

Реализована в | JavaScript 1.2, NES 3.0
Версия ECMA | ECMA-262

Синтаксис

delete objectName
delete objectName.property
delete objectName[index]
delete property // верно только внутри оператора with

Параметры

objectName

Имя объекта.

property

Удаляемое свойство.

index

Целое число - индекс массива.

Описание

Четвёртая форма верна только внутри оператора with при удалении свойства объекта.

Можно использовать операцию delete для удаления переменных, объявленных неявно, но не переменных, объявленных оператором var.

Если операция delete выполнена успешно, она устанавливает свойство или элемент в undefined. Операция delete возвращает true, если операция возможна; возвращает false, если операция невозможна.

x=42
var y= 43
myobj=new Number()
myobj.h=4      // создаёт свойство h
delete x       // возвращает true (может удалить, если переменная объявлена неявно)
delete y       // возвращает false (нельзя удалить, если переменная объявлена с помощью var)
delete Math.PI // возвращает false (нельзя удалять предопределённые свойства)
delete myobj.h // возвращает true (можно удалять свойства, определённые пользователем)
delete myobj   // возвращает true (можно удалять объекты)

Удаление элементов массива. Если вы удаляете элемент массива, размер массива не изменяется. Например, если Вы удаляете a[3], a[4] продолжает оставаться a[4], а элемент a[3] становится undefined.

Если операция delete удаляет элемент массива, этот элемент больше не присутствует в массиве. В следующем примере trees[3] удаляется с помощью delete.

trees=new Array("redwood","bay","cedar","oak","maple")
delete trees[3]
if (3 in trees) {
   // этот участок кода не будет выполняться
}

Если Вам нужно, чтобы элемент продолжал существовать, но имел значение undefined, используйте ключевое слово undefined вместо операции delete. В следующем примере элементу trees[3присваивается значение undefined, но этот элемент массива продолжает существовать:

trees=new Array("redwood","bay","cedar","oak","maple")
trees[3]=undefined
if (3 in trees) {
   // этот участок кода будет выполняться
}

new

Операция new создаёт экземпляр объекта пользовательского типа или объекта одного из встроенных типов, имеющих функцию-конструктор.

Реализована в | JavaScript 1.0
Версия ECMA | ECMA-262

Синтаксис

objectName = new objectType (param1 [,param2] ...[,paramN])

Параметры

objectName

Имя нового экземпляра объекта.

objectType

Тип объекта. Должна существовать функция, определяющая тип объекта.

param1...paramN

Значения свойств объекта. Эти свойства являются параметрами, определёнными для функции objectType.

Описание

Создание пользовательского типа объектов требует выполнения двух шагов:

  1. Определить тип объекта путём написания функции.
  2. Создать экземпляр объекта операцией new.

Для определения типа объектов создайте функцию, специфицирующую имя, свойства и методы объекта. Объект может иметь свойства, которые сами являются объектами. См. примеры ниже.

Вы всегда можете добавить свойство к ранее определённому объекту. Например, оператор car1.color = "black" добавляет свойство color к car1 и присваивает этому свойству значение "black". Однако это не влияет на другие объекты. Чтобы добавить новое свойство во все объекты данного типа, Вы обязаны добавить свойство в определение типа объектов car.

Вы можете добавить свойство к ранее определённому типу объектов, используя свойство Function.prototype for. Оно определяет свойство, которое используется совместно всеми объектами, созданными этой функцией, а не только одним экземпляром этого типа. Следующий код добавляет свойство color во все объекты типа car, а затем присваивает значение свойству color объекта car1. См. дополнительно prototype, for.

Car.prototype.color=null
car1.color="black"
birthday.description="The day you were born"

Примеры

Пример 1: Тип объекта и экземпляр объекта. Предположим, вы хотите создать тип объекта для автомобилей/cars. Вы хотите, чтобы этот тип назывался car и чтобы он имел свойства make/изготовлен, model/модель и year/год. Для этого вы должны написать следующую функцию:

function car(make, model, year) {
   this.make = make
   this.model = model
   this.year = year
}

Теперь можно создать объект mycar:

mycar = new car("Eagle", "Talon TSi", 1993)

Этот оператор создал mycar и присвоил специфицированные значения его свойствам. Теперь значением свойства mycar.make является строка "Eagle", mycar.year - целое число 1993 и т.д.

Вы можете создать любое количество объектов типа car путём вызова операции new. Например,

kenscar = new car("Nissan", "300ZX", 1992)

Пример 2: Свойство объекта, само являющееся другим объектом. Предположим, Вы определили объект person:

function person(name, age, sex) {
   this.name = name
   this.age = age
   this.sex = sex
}

а затем инстанциируете (создаёте экземпляры) два новых person-объекта:

rand = new person("Rand McNally", 33, "M")
ken = new person("Ken Jones", 39, "M")

Затем Вы можете переписать определение типа car для включения свойства owner, принимающего объект person:

function car(make, model, year, owner) {
   this.make = make;
   this.model = model;
   this.year = year;
   this.owner = owner;
}

Для инстанциации новых объектов Вы теперь используете:

car1 = new car("Eagle", "Talon TSi", 1993, rand);
car2 = new car("Nissan", "300ZX", 1992, ken)

Вместо того чтобы передавать строковой литерал или целочисленное значение при создании объектов, вышеприведённые операторы передают объекты rand и ken в качестве параметров для свойства owner. Чтобы найти имя owner/владельца машины car2, Вы можете получить доступ к следующему свойству:

car2.owner.name

this

Ключевое слово this ссылается на текущий объект. Вообще, в теле метода this ссылается на вызывающий объект.

Реализовано в | JavaScript 1.0
Версия ECMA | ECMA-262

Синтаксис

this[.propertyName]

Примеры

Предположим, функция validate проверяет значение свойства объекта, принимая объект и высшее и низшее значения:

function validate(obj, lowval, hival) {
   if ((obj.value < lowval) || (obj.value > hival))
      alert("Invalid Value!")
}

Вы можете вызвать validate в обработчике onChange каждого элемента формы, используя this для передачи ей элемента формы:

<B>Enter a number between 18 and 99:</B>
<INPUT TYPE = "text" NAME = "age" SIZE = 3
   onChange="validate(this, 18, 99)">

typeof

Операция typeof используется двумя способами:

1. typeof operand
2. typeof (operand)

Операция typeof возвращает строку, указывающую тип невычисленного операнда.
operand это строка, переменная, ключевое слов или объект, тип которых возвращается. Скобки не обязательны.

Реализована в | JavaScript 1.1
Версия ECMA | ECMA-262

Предположим, Вы определили следующие переменные:

var myFun = new Function("5+2")
var shape="round"
var size=1
var today=new Date()

Операция typeof возвращает для этих переменных следующие результаты:

typeof myFun is object
typeof shape is string
typeof size is number
typeof today is object
typeof dontExist is undefined

Для ключевых слов true и null операция typeof возвращает:

typeof true is boolean
typeof null is object

Для числа или строки операция typeof возвращает:

typeof 62 is number
typeof 'Hello world' is string

Для значений свойств операция typeof возвращает тип значения, содержащегося в свойстве:

typeof document.lastModified is string
typeof window.length is number
typeof Math.LN2 is number

Для методов и функций операция typeof возвращает:

typeof blur is function
typeof eval is function
typeof parseInt is function
typeof shape.split is function

Для предопределённых объектов операция typeof возвращает:

typeof Date is function
typeof Function is function
typeof Math is function
typeof Option is function
typeof String is function

void

Операция void используется двумя способами:

1. void (expression)
2. void expression

Операция void специфицирует выражение, вычисляемое без возвращения результата.
expression это вычисляемое выражение JavaScript. Скобки не обязательны, но хорошим стилем будет их использование.

Реализована в | JavaScript 1.1
Версия ECMA | ECMA-262

Вы можете использовать операцию void для специфицирования выражения как гипертекстовой ссылки. Выражение вычисляется, но не загружается вместо текущего документа.

Следующий код создаёт гиперссылку, которая ничего не делает, если пользователь щёлкает по ней. При щелчке void(0) вычисляется в 0, но не вызывает никаких действий в JavaScript.

<A href="./?f=javascript:void(0)">Click here to do nothing</A>

Следующий код создаёт гиперссылку, которая отправляет форму, если пользователь щёлкает по ссылке.

<A href="./?f=javascript:void(document.form.submit())">
Click here to submit</A>


Справочник по Классам LiveConnect

§ ← → У

Глава 6 Классы, Конструкторы и Методы Java

В главе содержится документация по Java-классам, используемым в LiveConnect, а также по их конструкторам и методам. Это алфавитный указатель на классы, которые дают Java-объектам доступ к коду JavaScript.


Классы, Конструкторы и Методы Java

6. Java-Классы, Конструкторы и Методы

§ ← → У

В этой главе задокументированы Java-классы, используемые в LiveConnect, и их конструкторы и методы. Это алфавитный справочник по классам, которые дают Java-объектам возможность получать доступ к коду JavaScript.

Этот справочник организован таким образом:

  • Полные описания всех классов расположены в алфавитном порядке.

    • Таблицы, включённые в описание каждого класса, содержат резюме по конструкторам и методам класса.
  • Полные описания конструкторов и методов класса идут в алфавитном порядке после описания класса.


JSException

public-класс JSException расширяет Exception.

java.lang.Object
   |
   +----java.lang.Throwable
            |
            +----java.lang.Exception
                     |
                     +----netscape.javascript.JSException

Описание

JSException является исключением, которое вызывается, если код JavaScript возвращает ошибку.

Конструктор. Резюме.

Класс netscape.javascript.JSException имеет следующий конструктор:

Конструктор Описание
JSException

Конструирует JSException. Вы специфицируете, имеет ли JSException детальное сообщение и другую информацию.

В следующих разделах показано объявление и использование конструктора.

JSException

Конструктор. Конструирует JSException. Вы специфицируете, имеет ли JSException детальное сообщение и другую информацию.

Объявление

1. public JSException()
2. public JSException(String s)
3. public JSException(String s,
   String filename,
   int lineno,
   String source,
   int tokenIndex)

Аргументы

s

Детальное сообщение.

filename

URL файла, в котором возникла ошибка, если доступен.

lineno

Номер строки файла, если доступен.

source

Строка, содержащая код JavaScript.

tokenIndex

Индекс символа в исходной строке, где возникла ошибка.

Описание

Детальное сообщение это строка, описывающая данное конкретное исключение.

Каждая форма конструктора создаёт JSException с различной информацией:

  • Форма 1 конструирует JSException без детального сообщения.
  • Форма 2 конструирует JSException с детальным сообщением.
  • Форма 3 конструирует JSException с детальным сообщением и всей другой информацией, которая обычно предоставляется вместе с ошибкой JavaScript.


JSObject

Класс public final netscape.javascript.JSObject расширяет/extends Object.

java.lang.Object
   |
   +----netscape.javascript.JSObject

Описание

Объекты в JavaScript оборачиваются (помещаются в оболочки) в экземпляры класса netscape.javascript.JSObject и передаются в Java. JSObject позволяет Java работать с объектами JavaScript.

Если объект из JavaScript передаётся в Java, машина выполнения создаёт Java-оболочку типа JSObject; когда JSObject пересылается из Java в JavaScript, машина выполнения снимает оболочку и разворачивает объект в объект оригинального типа JavaScript. Класс JSObject предоставляет способ вызова методов JavaScript и проверки свойств JavaScript.

Любые данные JavaScript, перенесённые в Java, конвертируются в типы данных Java. Когда JSObject передаётся обратно в JavaScript, оболочка с объекта снимается, и он может использоваться в коде JavaScript. См. в книге Клиентский JavaScript. Руководство. информацию о конвертации типов данных.

Методы. Резюме.

Класс netscape.javascript.JSObject имеет следующие методы:

Метод Описание
call

Вызывает метод JavaScript.

equals

Определяет, ссылаются ли два объекта JSObject на один и тот же экземпляр.

eval

Вычисляет выражение JavaScript.

getMember

Возвращает значение свойства JavaScript-объекта.

getSlot

Запрашивает значение элемента массива JavaScript-объекта.

removeMember

Удаляет свойство JavaScript-объекта.

setMember

Устанавливает значение свойства JavaScript-объекта.

setSlot

Устанавливает значение элемента массива JavaScript-объекта.

toString

Конвертирует JSObject в строку.

Класс netscape.javascript.JSObject имеет следующий static-метод:

Метод Описание
getWindow

Получает JSObject для окна, содержащего данный аплет.

В следующих разделах разъясняется объявление и использование этих методов.

call

Метод. Вызывает JavaScript-метод. Эквивалентен "this.methodName(args[0], args[1], ...)" в JavaScript.

Объявление

public Object call(String methodName, Object args[])

equals

Метод. Определяет, ссылаются ли два объекта JSObject на один и тот же экземпляр.

Переопределяет: equals в классе java.lang.Object

Объявление

public boolean equals(Object obj)

eval

Метод. Вычисляет выражение JavaScript. Это выражение является строкой исходного кода JavaScript, который вычисляется в контексте "this".

Объявление

public Object eval(String s)

getMember

Метод. Запрашивает значение свойства объекта JavaScript. Эквивалентен "this.name" в JavaScript.

Объявление

public Object getMember(String name)

getSlot

Метод. Запрашивает значение элемента массива объекта JavaScript. Эквивалентен "this[index]" в JavaScript.

Объявление

public Object getSlot(int index)

getWindow

Static-метод. Возвращает JSObject для окна, содержащего данный аплет. Этот метод используется только в клиентском JavaScript.

Объявление

public static JSObject getWindow(Applet applet)

removeMember

Метод. Удаляет свойство объекта JavaScript.

Объявление

public void removeMember(String name)

setMember

Метод. Устанавливает значение свойства объекта JavaScript. Эквивалентен "this.name = value" в JavaScript.

Объявление

public void setMember(String name, Object value)

setSlot

Метод. Устанавливает значение элемента массива объекта JavaScript. Эквивалентен "this[index] = value" в JavaScript.

Объявление

public void setSlot(int index, Object value)

toString

Метод. Конвертирует JSObject в String.

Переопределяет: toString в классе java.lang.Object

Объявление

public String toString()


Plugin

public-класс Plugin расширяет Object.

java.lang.Object
   |
   +----netscape.plugin.Plugin

Описание

Этот класс представляет отражение plug-in'а в Java. Plug-ins, которым необходимы Java-методы, ассоциированные с ними, должны создавать подкласс данного класса и добавлять новые (возможно, внешние) методы. Это даёт возможность другим объектам Java (таким как аплеты и JavaScript-код) работать с plug-in'ом.

Конструктор и методы. Резюме.

Класс netscape.plugin.Plugin имеет следующий конструктор:

Конструктор Описание
Plugin

Конструирует Plugin.

Класс netscape.plugin.Plugin имеет следующие методы:

Метод Описание
destroy

Вызывается при уничтожении plug-in'а.

getPeer

Возвращает внешний NPP-объект -- экземпляр plug-in'а, являющийся внешней частью Java-объекта Plugin.

getWindow

Возвращает окно JavaScript, в которое plug-in внедрён.

init

Вызывается при инициализации plug-in'а.

isActive

Определяет, ссылается ли по-прежнему Java-отражение plug-in'а на активный plug-in.

В следующих разделах показано объявление и использование этих конструкторов и методов.

destroy

Метод. Вызывается при разрушении plug-in'а. Вы никогда не должны вызывать этот метод явно, он вызывается при уничтожении plug-in'а. С момента вызова этого метода plug-in будет продолжать оставаться активным.

Объявление

public void destroy()

См. также

init

getPeer

Метод. Возвращает внешний NPP-объект -- экземпляр plug-in'а, являющийся внешней частью Java-объекта Plugin.
Это поле устанавливается системой, но может читаться из внешних методов plug-in'а путём вызова:

NPP npp = (NPP)netscape_plugin_Plugin_getPeer(env, thisPlugin);

Объявление

public int getPeer()

getWindow

Метод. Возвращает окно JavaScript, в которое plug-in внедрён.

Объявление

public JSObject getWindow()

init

Метод. Вызывается при инициализации plug-in'а. Вы никогда не должны вызывать этот метод явно, он вызывается при создании plug-in'а.

Объявление

public void init()

См. также

destroy

isActive

Метод. Определяет, ссылается ли по-прежнему Java-отражение plug-in'а на активный plug-in. Plug-in-экземпляры уничтожаются всякий раз при оставлении страницы, содержащей plug-in, вызывая таким образом дезактивацию plug-in'а.

Объявление

public boolean isActive()

Plugin

Конструктор. Конструирует Plugin.

Объявление

public Plugin()


Приложения

Приложение A Зарезервированные слова

Список зарезервированных слов JavaScript.

Приложение B Значения Цвета

Строковые литералы из этого приложения можно использовать для специфицирования цвета в свойствах JavaScript: alinkColor, bgColor, fgColor, linkColor и vLinkColor и в методе fontcolor.

Приложение C Куки Netscape

Куки это небольшие блоки информации, хранимые на клиентской машине в файле cookies.txt. В этом приложении рассматривается реализация кук клиента Navigator; но это не формальная спецификация или стандарт.


Приложение A. Зарезервированные Слова

Приложение A
Зарезервированные Слова

§ ← → У

В этом приложении содержится список зарезервированных слов JavaScript.

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

abstract
boolean
break
byte
case
catch
char
class
const
continue
debugger
default
delete
do
double
else
enum
export
extends
false
final
finally
float
for
function
goto
if
implements
import
in
instanceof
int
interface
long
native
new
null
package
private
protected
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
typeof
var
void
volatile
while
with


Значения Цветов

Приложение B
Значения Цвета

§ ← → У

Строковые литералы из этого приложения могут использоваться для специфицирования цветов в JavaScript-свойствах alinkColor, bgColor, fgColor, linkColor, vLinkColor и в методе fontcolor.

Например, Вы можете использовать эти строковые литералы для установки значения цвета тэгов HTML:

<BODY BGCOLOR="bisque">

или

<FONT COLOR="blue">color me blue</FONT>

Вместо строковых значений для специфицирования цвета Вы можете использовать 16-ричные значения red, green и blue из таблицы.

Цвет | Red/Красный | Green/Зелёный | Blue/Голубой
aliceblue | F0 | F8 | FF
antiquewhite | FA | EB | D7
aqua | 00 | FF | FF
aquamarine | 7F | FF | D4
azure | F0 | FF | FF
beige | F5 | F5 | DC
bisque | FF | E4 | C4
black | 00 | 00 | 00
blanchedalmond | FF | EB | CD
blue | 00 | 00 | FF
blueviolet | 8A | 2B | E2
brown | A5 | 2A | 2A
burlywood | DE | B8 | 87
cadetblue | 5F | 9E | A0
chartreuse | 7F | FF | 00
chocolate | D2 | 69 | 1E
coral | FF | 7F | 50
cornflowerblue | 64 | 95 | ED
cornsilk | FF | F8 | DC
crimson | DC | 14 | 3C
cyan | 00 | FF | FF
darkblue | 00 | 00 | 8B
darkcyan | 00 | 8B | 8B
darkgoldenrod | B8 | 86 | 0B
darkgray | A9 | A9 | A9
darkgreen | 00 | 64 | 00
darkkhaki | BD | B7 | 6B
darkmagenta | 8B | 00 | 8B
darkolivegreen | 55 | 6B | 2F
darkorange | FF | 8C | 00
darkorchid | 99 | 32 | CC
darkred | 8B | 00 | 00
darksalmon | E9 | 96 | 7A
darkseagreen | 8F | BC | 8F
darkslateblue | 48 | 3D | 8B
darkslategray | 2F | 4F | 4F
darkturquoise | 00 | CE | D1
darkviolet | 94 | 00 | D3
deeppink | FF | 14 | 93
deepskyblue | 00 | BF | FF
dimgray | 69 | 69 | 69
dodgerblue | 1E | 90 | FF
firebrick | B2 | 22 | 22
floralwhite | FF | FA | F0
forestgreen | 22 | 8B | 22
fuchsia | FF | 00 | FF
gainsboro | DC | DC | DC
ghostwhite | F8 | F8 | FF
gold | FF | D7 | 00
goldenrod | DA | A5 | 20
gray | 80 | 80 | 80
green | 00 | 80 | 00
greenyellow | AD | FF | 2F
honeydew | F0 | FF | F0
hotpink | FF | 69 | B4
indianred | CD | 5C | 5C
indigo | 4B | 00 | 82
ivory | FF | FF | F0
khaki | F0 | E6 | 8C
lavender | E6 | E6 | FA
lavenderblush | FF | F0 | F5
lawngreen | 7C | FC | 00
lemonchiffon | FF | FA | CD
lightblue | AD | D8 | E6
lightcoral | F0 | 80 | 80
lightcyan | E0 | FF | FF
lightgoldenrodyellow | FA | FA | D2
lightgreen | 90 | EE | 90
lightgrey | D3 | D3 | D3
lightpink | FF | B6 | C1
lightsalmon | FF | A0 | 7A
lightseagreen | 20 | B2 | AA
lightskyblue | 87 | CE | FA
lightslategray | 77 | 88 | 99
lightsteelblue | B0 | C4 | DE
lightyellow | FF | FF | E0
lime | 00 | FF | 00
limegreen | 32 | CD | 32
linen | FA | F0 | E6
magenta | FF | 00 | FF
maroon | 80 | 00 | 00
mediumaquamarine | 66 | CD | AA
mediumblue | 00 | 00 | CD
mediumorchid | BA | 55 | D3
mediumpurple | 93 | 70 | DB
mediumseagreen | 3C | B3 | 71
mediumslateblue | 7B | 68 | EE
mediumspringgreen | 00 | FA | 9A
mediumturquoise | 48 | D1 | CC
mediumvioletred | C7 | 15 | 85
midnightblue | 19 | 19 | 70
mintcream | F5 | FF | FA
mistyrose | FF | E4 | E1
moccasin | FF | E4 | B5
navajowhite | FF | DE | AD
navy | 00 | 00 | 80
oldlace | FD | F5 | E6
olive | 80 | 80 | 00
olivedrab | 6B | 8E | 23
orange | FF | A5 | 00
orangered | FF | 45 | 00
orchid | DA | 70 | D6
palegoldenrod | EE | E8 | AA
palegreen | 98 | FB | 98
paleturquoise | AF | EE | EE
palevioletred | DB | 70 | 93
papayawhip | FF | EF | D5
peachpuff | FF | DA | B9
peru | CD | 85 | 3F
pink | FF | C0 | CB
plum | DD | A0 | DD
powderblue | B0 | E0 | E6
purple | 80 | 00 | 80
red | FF | 00 | 00
rosybrown | BC | 8F | 8F
royalblue | 41 | 69 | E1
saddlebrown | 8B | 45 | 13
salmon | FA | 80 | 72
sandybrown | F4 | A4 | 60
seagreen | 2E | 8B | 57
seashell | FF | F5 | EE
sienna | A0 | 52 | 2D
silver | C0 | C0 | C0
skyblue | 87 | CE | EB
slateblue | 6A | 5A | CD
slategray | 70 | 80 | 90
snow | FF | FA | FA
springgreen | 00 | FF | 7F
steelblue | 46 | 82 | B4
tan | D2 | B4 | 8C
teal | 00 | 80 | 80
thistle | D8 | BF | D8
tomato | FF | 63 | 47
turquoise | 40 | E0 | D0
violet | EE | 82 | EE
wheat | F5 | DE | B3
white | FF | FF | FF
whitesmoke | F5 | F5 | F5
yellow | FF | FF | 00
yellowgreen | 9A | CD | 32


Куки Netscape

Приложение C
Куки Netscape

§ ← → У

Кука/cookie это небольшой блок информации, сохраняемый на клиентской машине в файле cookies.txt. В этом приложении рассматривается реализация кук в клиентском браузере Navigator; это не формальная спецификация или стандарт.

Вы можете управлять куками:

  • Явно в CGI-программе.
  • Программно - в клиентском JavaScript, используя свойство cookie объекта document.
  • Прозрачно - в серверном JavaScript через объект client, используя клиентскую технику работы с куками.

Об использовании кук в серверном JavaScript см. книгу Серверный JavaScript. Руководство.

Мы рассмотрим формат информации куки в шапке/header HTTP и обсудим использование программ CGI и JavaScript для манипулирования куками.

Синтаксис

Программа CGI использует следующий синтаксис для добавления куки-информации в шапку HTTP:

Set-Cookie:
   name=value

   [;EXPIRES=dateValue]
   [;DOMAIN=domainName]

   [;PATH=pathName]
   [;SECURE]

Параметры

name=value это последовательность символов, кроме точки с запятой, запятой и пробела. Чтобы поместить неразрешённые символы в name или в value, используйте метод кодирования, такой как URL-style %XX encoding.

EXPIRES=dateValue специфицирует строку-дату, которая определяет период действия куки. При достижении даты окончания действия, кука не будет больше храниться или выдавать информацию. Если Вы не специфицировали dateValue, кука перестаёт действовать при окончании сессий пользователя.

Строка даты форматируется так:

Wdy, DD-Mon-YY HH:MM:SS GMT

где Wdy это день недели (например, Mon или Tues); DD это день/число месяца из двух цифр; Mon это трёхбуквенное сокращение названия месяца, как всегда - на английском языке, (например, Jan или Feb); YY это последние две цифры года; HH:MM:SS это часы, минуты и секунды, соответственно.

DOMAIN=domainName специфицирует атрибуты домена для правильной куки. См. "Определение Действующей Куки". Если Вы не специфицируете domainName, Navigator использует имя хоста сервера, который генерирует куку-ответ.

PATH=pathName специфицирует атрибуты пути для правильной куки. См. "Определение Действующей Куки". Если Вы не специфицируете значение pathName, Navigator использует путь документа, который создал свойство куки (или путь документа, описанный шапкой HTTP - для программирования CGI).

SECURE специфицирует, что кука пересылается только в том случае, если канал связи с хостом использует защиту. Только HTTPS (HTTP через SSL) серверы являются защищёнными в настоящее время. Если SECURE не специфицируется, кука может пересылаться по любому каналу.

Описание

Сервер высылает куки-информацию клиенту в шапке/header HTTP, когда сервер отвечает на запрос. В эту информацию включается описание диапазона URL, для которых она действует. Любые последующие HTTP-запросы, сделанные клиентом, которые попадают в этот диапазон, будут включать передачу текущего значения объекта статуса с клиента обратно на сервер.

Приложения различных типов могут использовать преимущества кук. Например, приложение-продавец может сохранять информацию о выбранном элементе для использования затем в текущей или в последующих сессиях, а другие приложения могут сохранять пользовательские настройки клиентской машины.

Определение Действующей Куки.

При поиске в списке кук действующих кук, сравнение атрибутов домена в куке выполняется с именем хоста, с которого URL запрашивается.

Если атрибут домена совпадает с концом полного квалифицированного доменного имени хоста, совпавший путь проверяется на предмет необходимости отправки куки. Например, атрибут домена royalairways.com совпадает с именами хоста anvil.royalairways.com и ship.crate.royalairways.com.

Только хосты в специфицированном домене могут отправлять куки для домена. Кроме этого, доменные имена обязаны использовать как минимум две или три точки. Любой домен категорий COM, EDU, NET, ORG, GOV, MIL и INT требует только двух точек; все остальные домены требуют как минимум трёх точек.

PATH=pathName специфицирует URL'ы домена, для которых кука действует. Если кука уже прошла совпадение с доменом, то компонент pathname из URL сравнивается атрибутом path и, если совпадение есть, кука считается действующей и высылается вместе с URL запроса. Например, PATH=/foo совпадает с /foobar и с /foo/bar.html. Путь "/" это самый распространённый путь.

Синтаксис Шапки HTTP-Запроса Куки.

При запросе URL с HTTP-сервера браузер сопоставляет этот URL со всеми существующими куками. Если кука совпадает с URL запроса, строка, содержащая пары имя/значение всех совпадающих кук, включается в HTTP-запрос в следующем формате:

Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...
Сохранение Кук.

Один серверный ответ может давать несколько шапок Set-Cookie. Сохранение куки с теми же значениями PATH и NAME, что и у существующей куки, перезаписывает существующую куку. Сохранение куки с тем же значением PATH, но с другим значением NAME, добавляет новую куку.

Значение EXPIRES указывает, когда зачистить отображение. Navigator также удалит куку перед истечением срока её действия, если количество кук превысит внутренний лимит.

Кука с более высоким уровнем значения PATH не переопределяет более специфическое значение PATH. Если имеются несколько совпадений с различными путями, высылаются все совпавшие куки, как показано далее в примерах.

Скрипт CGI может удалить куку, возвращая куку с теми же значениями PATH и NAME и значением EXPIRES, которое было ранее. Поскольку PATH и NAME обязаны совпадать точно, для скрипта, отличного от создателя куки, будет затруднительно удалить её.

Специфицирование для Клиента.

При отправке куки на сервер, все куки с более специфицированным отображением пути высылаются до кук с менее специфицированным отображением пути. Например, кука "name1=foo" с отображением пути "/" должна быть выслана после куки "name1=foo2" с отображением пути "/bar", если они обе высылаются.

Navigator может получать и сохранять следующее:

  • общее количество кук: 300.
  • 4 килобайта на куку, где имя и OPAQUE_STRING комбинируются для образования лимита в 4 килобайта.
  • 20 кук на сервер или домен. Полностью специфицированные хосты и домены считаются отдельными экземплярами, и каждый имеет ограничение в 20 кук.

Когда лимит в 300 кук или 20 на сервер превзойдён, Navigator удаляет самые старые куки. Когда обнаруживается кука размером более 4 КВ, она должна быть усечена, но имя должно остаться без изменения, если оно менее 4 КВ.

Примеры

Следующие примеры иллюстрируют последовательность транзакций типичных CGI-программ.

Пример 1.

Клиент запрашивает документ и получает в ответе:

Set-Cookie: CUSTOMER=WILE_E_COYOTE; path=/; expires=Wednesday,

   09-Nov-99 23:12:40 GMT

Если клиент запрашивает URL с путём "/" на данном сервере, он отправляет:

Cookie: CUSTOMER=WILE_E_COYOTE

Клиент запрашивает документ и получает в ответе:

Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/

Если клиент запрашивает URL с путём "/" на данном сервере, он отправляет:

Cookie: CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001

Клиент получает:

Set-Cookie: SHIPPING=FEDEX; path=/foo

Если клиент запрашивает URL с путём "/" на данном сервере, он отправляет:

Cookie: CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001

Если клиент запрашивает URL с путём "/foo" на данном сервере, он отправляет:

Cookie: CUSTOMER=WILE_E_COYOTE; PART_NUMBER=ROCKET_LAUNCHER_0001;

   SHIPPING=FEDEX
Пример 2.

Здесь предполагается, что все отображения из Примера 1 очищены.

Клиент получает:

Set-Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001; path=/

Если клиент запрашивает URL с путём "/" на данном сервере, он отправляет:

Cookie: PART_NUMBER=ROCKET_LAUNCHER_0001

Клиент получает:

Set-Cookie: PART_NUMBER=RIDING_ROCKET_0023; path=/ammo

Если клиент запрашивает URL с путём "/ammo" на данном сервере, он отправляет:

Cookie: PART_NUMBER=RIDING_ROCKET_0023;

   PART_NUMBER=ROCKET_LAUNCHER_0001

Имеются две пары имя/значение с именем "PART_NUMBER" из-за наследования отображения "/" в дополнение к отображению "/ammo".


Индекс

§ ←
Английский алфавит: A B C D E F G H I J K L M N O P R S T U V W X Y Z
Русский алфавит: А Б В Г Д З И К Л М Н О П Р С Т У Ф Ц Ч Ш Э Ю Я

Символы

- (побитовое НЕ) операция
- (унарное отрицание) операция
-- (декремент) операция
! (логическое НЕ) операция
!= (не равно) операция 636, 637
!== (строго не равно) операция 636, 637
# (знак хэша в URL)
$& свойство
$* свойство
$+ свойство
$_ свойство
$` свойство
$' свойство
$1, ..., $9 свойства
% (остаток от деления) операция
%= операция
&& (логическое И) операция
& (побитовое И) операция
&= операция
) 659
*/ комментарий
*= операция
+ (конкатенация строк) операция
++ (инкремент) операция
+= (конкатенация строк) операция
+= операция
/* комментарий
// комментарий
/= операция
< (меньше) операция
<< (сдвиг влево) операция 640, 642
<<= операция
<= (меньше или равно) операция
== (равно) операция 636, 637
=== (строго равно) операция 636, 637
-= операция
> (больше) операция
>= (больше или равно) операция
>> (сдвиг вправо с сохранением знака) операция 640, 642
>>= операция
>>> (сдвиг вправо с заполнением нулями) операция 640, 642
>>>= операция
?: (условная) операция
^ (побитовое исключающее ИЛИ) операция
^= операция
| (побитовое ИЛИ) операция
|= операция
|| (логическое ИЛИ) операция
, (запятая) операция

A

abort событие
about: (синтаксис URL) 253, 254
above свойство
abs метод
acos метод
action свойство
alert метод
align свойство
alinkColor свойство
anchor метод
Anchor объект
anchors/якоря
Anchor объект
создание
anchors массив
AND (&&) логическая операция
AND (&) побитовая операция
appCodeName свойство
APPLET тэг HTML
Applet объект
applets массив
apply метод
appName свойство
appVersion свойство
Area объект 27, 238
arguments массив
arity свойство
Array объект
asin метод
atan2 метод
atan метод
atob метод
availHeight свойство
availLeft свойство 390, 539
availTop свойство
availWidth свойство

B

backgroundColor свойство
backgroundImage свойство
background свойство
back метод 196, 507
below свойство
bgColor свойство 114, 226
BIG тэг HTML
big метод
BLINK тэг HTML
blink метод
blur событие
blur метод
Button объект
Checkbox объект
FileUpload объект
Password объект
Radio объект
Reset объект
Select объект
Submit объект
Textarea объект
Text объект
window объект
BOLD тэг HTML
bold метод
Boolean объект
и условная проверка
borderBottomWidth свойство
borderColor свойство
borderLeftWidth свойство
border свойство
borderRightWidth свойство
borderStyle свойство
borderTopWidth свойство
borderWidths метод
Style объект
bottom свойство
break оператор
browser/браузер
about: (синтаксис URL)
кодовое имя
имя
btoa метод
Button объект

C

callee свойство
caller свойство
call метод
call метод (LiveConnect)
captureEvents метод
document объект
Layer объект
window объект
ceil метод
change событие
charAt метод
charCodeAt метод
Checkbox объект
checked свойство
Checkbox объект
Radio объект
classes свойство
className свойство
clearInterval метод
clear свойство
clearTimeout метод
click событие
click метод
Button объект
Checkbox объект
Radio объект
Reset объект
Submit объект
clip.bottom свойство
clip.height свойство
clip.left свойство
clip.right свойство
clip.top свойство
clip.width свойство
closed свойство
close метод
document объект
window объект
colorDepth свойство
color свойство
comment оператор
compile метод
complete свойство
concat метод
Array объект
String объект
confirm метод
constructor свойство
Array объект
Boolean объект
Date объект
Function объект
Number объект
Object объект
RegExp объект
String объект
contextual метод
document объект
continue оператор
cookie свойство
cookies, реализация 675-679
cos метод
crypto.random метод
crypto.signText метод
crypto свойство
current свойство

D

data свойство
Date объект
DblClick событие
defaultChecked свойство
Checkbox объект
Radio объект
defaultSelected свойство
defaultStatus свойство
defaultValue свойство
Password объект
Textarea объект
Text объект
delete операция
description свойство
MimeType объект
Plugin объект
destroy метод (LiveConnect)
disableExternalCapture метод
display свойство
do...while оператор
document объект
embeds массив
document свойство
Layer объект
window объект
domain свойство
DragDrop событие

E

elements массив
embeds массив
enabledPlugin свойство
enableExternalCapture метод
encoding свойство
ENCTYPE атрибут
E свойство
equals метод (LiveConnect)
escape функция
Unicode и
eval функция
eval метод
LiveConnect
Object объект
event объект
exec метод
exp метод
export оператор

F

fgColor свойство
file: (синтаксис URL)
filename свойство
FileUpload объект
find метод
fixed метод
floor метод
focus событие
focus метод
Button объект
Checkbox объект
FileUpload объект
Password объект
Radio объект
Reset объект
Select объект
Submit объект
Textarea объект
Text объект
window объект
fontcolor метод
fontFamily свойство
fontsize метод
fontSize свойство
fontStyle свойство
fontWeight свойство
for...in оператор
for циклы
продолжение
синтаксис
прерывание
FORM тэг HTML
Form объект
elements массив
forms массив
for оператор
Forward кнопка
forward метод
History объект
window объект
Frame объект
frames массив
fromCharCode метод
ftp: (синтаксис URL)
Function объект
специфицирование объектов для
специфицирование обработчика события
как значение переменной
function оператор

G

getDate метод
getDay метод
getFullYear метод
getHours метод
getMember метод (LiveConnect)
getMilliseconds метод
getMinutes метод
getMonth метод
getPeer метод (LiveConnect)
getSeconds метод
getSelection метод
getSlot метод (LiveConnect)
getTime метод
getTimezoneOffset метод
getUTCDate метод
getUTCDay метод
getUTCFullYear метод
getUTCHours метод
getUTCMilliseconds метод
getUTCMinutes метод
getUTCMonth метод
getUTCSeconds метод
getWindow метод (LiveConnect) 660, 663
getYear метод
global объект
global свойство
GMT-время, определение
Go меню
go метод
gopher: (синтаксис URL)

H

handleEvent метод
Button объект
Checkbox объект
document объект
FileUpload объект
Form объект
Image объект
Layer объект
Link объект
Password объект
Radio объект
Reset объект
Select объект
Submit объект
Textarea объект
Text объект
window объект
hash свойство
Link объект
Location объект
height свойство
document объект
event объект
Image объект
Layer объект
screen объект
Hidden объект
history список
следующий URL в
History объект
current свойство
next свойство
previous свойство
history свойство
home метод
hostname свойство
Link объект
Location объект
host свойство
Link объект
Location объект
href свойство
Link объект
Location объект
hspace свойство
HTML
сгенерированный
HTML-тэги
APPLET
BIG
BLINK
BOLD
FORM
INPUT 64, 468
http: (синтаксис URL)

I

ids свойство
if...else оператор
ignoreCase свойство
Image объект
images массив
import оператор
increment (++) операция
indexOf метод
index свойство
Array объект
Option объект
Infinity свойство
init метод (LiveConnect)
in ключевое слово
innerHeight свойство
innerWidth свойство
INPUT тэг HTML 64, 468
input свойство
Array объект
RegExp объект
isActive метод (LiveConnect)
isFinite функция
isNaN функция
italics метод

J

JavaArray объект
JavaClass объект
javaEnabled метод
java объект
JavaObject объект
JavaPackage объект
java свойство
JavaScript
база для работы с
зарезервированные слова
версии и Navigator
javascript: (синтаксис URL)
join метод
JSException класс
JSException конструктор (LiveConnect)
JSObject класс

K

KeyDown событие
KeyPress событие
KeyUp событие

L

label оператор
language свойство
lastIndexOf метод
lastIndex свойство
lastMatch свойство
lastModified свойство
lastParen свойство
Layer объект
layers
layers массивы
layerX свойство
layerY свойство
leftContext свойство
left свойство 227, 229
length свойство
arguments массив
Array объект
Form объект
Function объект
History объект
JavaArray объект
Option объект
Plugin объект
Select объект
String объект
window объект
lineHeight свойство
linkColor свойство
link метод
Link объект
links массив
списки выбора
listStyleType свойство
LiveConnect
JavaArray объект
JavaClass объект
java объект
JavaObject объект
JavaPackage объект
JSException класс
JSObject класс
netscape объект
Packages объект
sun объект
LN10 свойство
LN2 свойство
load событие
load метод
locationbar свойство
Location объект
location свойство
document объект
window объект
LOG10E свойство
LOG2E свойство
log метод
lowsrc свойство

M

mailto: (синтаксис URL)
marginBottom свойство
marginLeft свойство
marginRight свойство
margins метод
Style объект
marginTop свойство
match метод
Math объект
MAX_VALUE свойство
max метод
MAYSCRIPT атрибут
menubar свойство
method свойство
MIME-кодировка
MimeType объект
MIME-типы
сконфигурированный plug-in для
поддерживаемые plug-ins
mimeTypes массив
MIN_VALUE свойство
min метод
modifiers свойство
modulo function
modulus (%) операция
MouseDown событие
MouseMove событие
MouseOut событие
MouseOver событие
MouseUp событие
moveAbove метод
moveBelow метод
moveBy метод
Layer объект
window объект
move событие
moveToAbsolute метод
moveTo метод
Layer объект
window объект
multiline свойство

N

name свойство
anchor объект
Button объект
Checkbox объект
FileUpload объект
Form объект
Hidden объект
Image объект
Layer объект
Password объект
Plugin объект
Radio объект
Reset объект
Select объект
Submit объект
Textarea объект
Text объект
window объект
NaN свойство
Number объект
верхнего уровня
Navigator
about: (ситаксис URL)
кодовое имя
поддерживаемые версии JavaScript
имя
navigator объект
NEGATIVE_INFINITY свойство
netscape.javascript.JSException класс
netscape.javascript.JSObject класс
netscape.javascript.Plugin класс
netscape объект
netscape свойство
new операция
news: (ситаксис URL)
next свойство
NOT (!) логическая операция
NOT (-) побитовая операция
Number функция
Number объект

O

Object объект
offscreenBuffering свойство
onAbort обработчик события
onBlur обработчик события
onChange обработчик события
onClick обработчик события
onDblClick обработчик события
onDragDrop обработчик события
onError обработчик события
onFocus обработчик события
onKeyDown обработчик события
onKeyPress обработчик события
onKeyUp обработчик события
onLoad обработчик события
onMouseDown обработчик события
onMouseMove обработчик события
onMouseOut обработчик события
onMouseOver обработчик события
onMouseUp обработчик события
onMove обработчик события
onReset обработчик события
onResize обработчик события
onSelect обработчик события
onSubmit обработчик события
onUnload обработчик события
opener свойство
open метод
document объект
window объект
Option объект
options массив
OR (|) побитовая операция
OR (||) логическая операция
outerHeight свойство
outerWidth свойство

P

Packages объект
paddingBottom свойство
paddingLeft свойство
paddingRight свойство
paddings метод
Style объект
paddingTop свойство
pageXOffset свойство
pageX свойство
event объект
Layer объект
pageYOffset свойство
pageY свойство
event объект
Layer объект
parentLayer свойство
parent свойство
parseFloat функция
parseInt функция
parse метод
Password объект
значение по умолчанию 339, 478, 489
pathname свойство
Link объект
Location объект
personalbar свойство
PI свойство
pixelDepth свойство
platform свойство
Plugin класс
Plugin конструктор (LiveConnect)
Plugin объект
plug-ins
определение
определение установленных
plugins массив
navigator объект
pop метод
port свойство
Link объект
POSITIVE_INFINITY свойство
pow метод
preference метод
previous свойство
print метод
prompt метод
protocol свойство
Link объект
Location объект
prototype свойство
Array объект
Boolean объект
Date объект
Function объект
Number объект
Object объект
RegExp объект
String объект
push метод

R

radio-кнопки
программный щелчок 354, 384, 470
статус выбранной по умолчанию
Radio объект
Radio объект
random метод
referrer свойство
refresh метод
RegExp объект
releaseEvents метод
document объект
Layer объект
window объект
reload метод
removeMember метод (LiveConnect)
replace метод 265, 425
reset-кнопки
программный щелчок 354, 384, 470
Reset объект
reset событие
reset метод
Reset объект
resizeBy метод
Layer объект
window объект
resize событие
resizeTo метод
Layer объект
window объект
return оператор
reverse метод
RGB-значения цветов
rightContext свойство
right свойство
round метод
routeEvent метод
document объект
Layer объект
window объект

S

savePreferences метод
screen объект
screenX свойство
screenY свойство
scrollbars свойство
scrollBy метод
scroll метод
scrollTo метод
search метод
search свойство
Link объект
Location объект
selectedIndex свойство
select событие
select метод
FileUpload объект
Password объект
Textarea объект
Text объект
Select объект
self свойство
setDate метод
setFullYear метод
setHotKeys метод
setHours метод
setInterval метод
setMember метод (LiveConnect)
setMilliseconds метод
setMinutes метод
setMonth метод
setResizable метод
setSeconds метод
setSlot метод (LiveConnect)
setTime метод
setTimeout метод
setUTCDate метод
setUTCFullYear метод
setUTCHours метод
setUTCMilliseconds метод
setUTCMinutes метод
setUTCMonth метод
setUTCSeconds метод
setYear метод
setZOptions метод
shift метод
siblingAbove свойство
siblingBelow свойство
sin метод
slice метод 41, 429
small метод
sort метод
source свойство
splice метод
split метод
SQRT1_2 свойство
SQRT2 свойство
sqrt метод
src свойство
Image объект
Layer объект
statusbar свойство
status свойство
stop метод
strike метод
String function
String объект
Style объект
sub метод
submit-кнопки
программный щелчок 354, 384, 470
определение
Submit объект
submit событие
submit метод
Submit объект
substring метод
substr метод
suffixes свойство
sun объект
sun свойство
sup метод
switch оператор

T

tags свойство
taintenabled метод
taint функция
tan метод
target свойство
event объект
Form объект
Link объект
test метод
text свойство
textAlign свойство
Textarea объект
значение по умолчанию 339, 478, 489
textDecoration свойство
textIndent свойство
Text объект
значение по умолчанию 339, 478, 489
text свойство
anchor объект
Option объект
textTransform свойство
this.form 59, 69, 153, 191, 340, 355, 385, 398, 471, 480, 490
this ключевое слово
title свойство
toGMTString метод
toLocaleString метод
toLowerCase метод
toolbar свойство
top свойство
Layer объект 228, 235
window объект
toSource метод
Array объект
Boolean объект
Date объект
Function объект
Number объект
Object объект
RegExp объект
String объект
toString метод
Array объект
Boolean объект
встроенные
Date объект
Function объект
JavaArray объект
LiveConnect
Number объект
Object объект
RegExp объект
String объект
определяемый пользователем
toUpperCase метод
toUTCString метод
typeof операция
type свойство
Button объект
Checkbox объект
event объект
FileUpload объект
Hidden объект
MimeType объект
Password объект
Radio объект
Reset объект
Select объект
Submit объект
Textarea объект
Text объект

U

undefined свойство
unescape функция
unicode и
Unicode
charCodeAt метод
escape функция и
unescape функция и
unload событие
unshift метод
untaint функция
unwatch метод
URL
имя якоря в
используемые соглашения
текущий
замена/подстановка символов в
примеры обычных
history список
следующий
синтаксис
userAgent свойство
UTC метод
UTC время, определение

V

valueOf метод
Array объект
Boolean объект
Date объект
Function объект
Number объект
Object объект
RegExp объект
String объект
value свойство
Button объект
Checkbox объект
FileUpload объект
Hidden объект
Option объект
Password объект
Radio объект
Reset объект
Submit объект
Textarea объект
Text объект
var оператор
view-source: (синтаксис URL)
visibility свойство
vlinkColor свойство
void функция 240, 253
void операция
vspace свойство

W

watch метод
which свойство
while цикл
продолжение выполнения
синтаксис
прерывание
while оператор
whiteSpace свойство
width свойство
document объект
event объект
Image объект
Layer объект
screen объект
window объект
window свойство
Layer объект
window объект
with оператор
writeln метод
write метод
сгенерированный HTML

X

XOR (^) операция
x свойство
anchor объект
event объект
Layer объект
link объект

Y

y свойство
anchor объект
event объект
Layer объект
link объект

Z

zIndex свойство

Русский алфавит

А

анимация
аплеты
включение в web-страницу
арифметические операции
% (остаток)
-- (декремент)
- (унарное отрицание)
++ (инкремент)

Б

безопасность
закрытие окон
браузер
about: (синтаксис URL)
кодовое имя
имя

В

версии JavaScript
взаимодействие с пользователем
аплеты
переключатели
Confirm диалоговое окно
Prompt диалоговое окно
submit-кнопки
вложение функций 171, 172
время
Date объект
удаление
минуты
выражения, не возвращающие значения

Г

гиперссылки
якоря для
Link объект
без назначения цели

Д

даты
конвертация в строки
Date объект
день недели
определение
миллисекунд после 1970
месяц
декремент (--) операция
диалоговые окна
Confirm
Prompt
директории
используемые соглашения
документы
цвет
document объект
embeds массив

З

, (запятая) операция
зарезервированные слова

И

изображения
и анимация
Area объект
рамка
кэширование
предзагрузка
размер
источник
исключения
LiveConnect

К

квадратные корни
классы, доступ к Java 218, 333
ключевые слова
кнопки
Button объект
программный щелчок 354, 384, 470
submit
комментарии
контейнеры
специфицирование объекта по умолчанию
with-оператор и
кэширование графики

Л

логарифмы
база натуральных 276, 277
натуральный логарифм 10
логические операции
! (НЕ)
&& (И)
|| (ИЛИ)
сокращённый цикл вычисления
локальное время, определение

М

массивы
Array объект
создание из строк
удаление элементов
плотные
увеличение размера
индексирование
начальный размер 29, 31
Java
объединение
размер, определение 37, 163, 199, 422
обращение к элементам
сортировка
методы верхнего уровня

Н

натуральные логарифмы
база
e
e в степени
логарифм 10
нижний регистр 406, 439

О

обработчики событий 573-609
См. также handleEvent метод
event объект
в Function-объектах
специфицирование имени объекта в
объекты
создание новых типов
удаление
установление по умолчанию
фокус 57, 353, 384, 398, 469, 470, 478, 488, 508
получение списка свойств
итерация по свойствам
Java, доступ к
специфицирование имён в обработчиках событий
объекты по умолчанию, специфицирование
окна
закрытые
закрытие
имя 70, 164, 481, 492, 526
top
window объект
операции 631-652
арифметические
присвоения
побитовые
сравнения
список операций
логические
специальные
строковые
операции 613-630
соглашения по синтаксису
операции присвоения
%=
&=
*=
+=
/=
<<=
-=
>>=
>>>=
^=
|=
и условные операции
операции сравнения
!= (не равно) 636, 637
!== (строго не равно) 636, 637
< (меньше)
<= (меньше или равно)
== (равно) 636, 637
=== (строго равно) 636, 637
> (больше)
>= (больше или равно)

П

пакеты, доступ к Java
переключатели
Checkbox объект
программный щелчок 354, 384, 470
статус выбранного по умолчанию
определение
переменные
объявление
инициализация
синтаксис определения
печать сгенерированного HTML
плотные массивы
побитовые операции
& (AND)
- (NOT)
<< (сдвиг влево) 640, 642
>> (сдвиг вправо с сохранением знака) 640, 642
>>> (сдвиг вправо с заполнением нулями) 640, 642
^ (XOR)
| (OR)
логические
сдвиг

Р

регулярные выражения

С

свойства
удаление
получение списка свойств объекта
итерация по свойствам объекта
верхнего уровня
свойства формы
Button объект
Checkbox объект
FileUpload объект
Hidden объект
Password объект
Radio объект
Reset объект
Select объект
Submit объект
Textarea объект
Text объект
сдвиг влево (<<) операция 640, 642
сдвиг вправо с заполнением нулями (>>>) операция 640, 642
сдвиг вправо с сохранением знака (>>) операция 640, 642
событие ошибки
события
event объект
соглашения по документам
соглашения по синтаксису
сокращённый цикл вычисления
сообщения
Confirm диалоговое окно
Prompt диалоговое окно
специальные операции
списки выбора
добавление опций
изменение текста опций
статус выбранной по умолчанию
удаление опций
количество опций 163, 199, 422
текст опции
Select объект
стили
строки
мигающие
bold
позиция символа в 405, 411, 418
конкатенация
конвертация из даты
конвертация в число с плавающей точкой
создание из массивов
удаление
размер шрифта
длина 163, 199, 422
нижний регистр 406, 439
разбор
разделение на массивы
String объект
строковые операции

Т

таймауты
отмена

У

удаление
элементов массива
объектов
свойств
унарное отрицание (-) операция
условная (?:) операция
условная проверка
и операции присвоения
и Булевы объекты

Ф

фокус
потеря 57, 353, 384, 398, 469, 470, 478, 488, 508
формы
переключатели
определение
фокус элемента 57, 353, 384, 398, 469, 470, 478, 488, 508
имена элементов 70, 164, 481, 492, 526
elements массив
ENCTYPE атрибут
Form объект
MIME-кодировка
submit-кнопки
отправка
фрэймы
Frame объект
top
функции
arguments массив
callee свойство
caller свойство
объявление
Function объект
length свойство
список
вложение 171, 172
количество аргументов 163, 199, 422
return-значения
верхнего уровня
как значение переменной

Ц

цвет фона
цвета
фона
шестнадцатеричные значения
список
строковые литералы
строковые литералы для 669, 674
циклы
продолжение выполнения
for
прерывание
while

Ч

числа
большее из двух
идентифицирование
Number объект
получение целого
разбор из строк
квадратный корень

Ш

шрифты
big
мигающие
bold

Э, Ю, Я

Эйлера константа
возведённая в степень
якоря
Anchor объект
создание


Справочник по JavaScript 1.3

→ У

Этот материал является справочным пособием по языку программирования JavaScript, включая ядро и клиентский JavaScript версии 1.3.
JavaScript разработан корпорацией Netscape как межплатформенный объектно-ориентированный язык скриптинга (сценариев) для клиентских и серверных приложений.

Оглавление

О спецификации JavaScript 1.3
  • Новые возможности этой версии
  • Что Вы уже должны знать
  • Версии JavaScript
  • Где найти информацию о JavaScript
  • Соглашения по документам

Часть 1 Объекты. Справочник.

Глава 1 Объекты, Методы и Свойства
  • Anchor
  • Applet
  • Area
  • Array
  • Boolean
  • Button
  • Checkbox
  • Date
  • document
  • event
  • FileUpload
  • Form
  • Frame
  • Function
  • Hidden
  • History
  • Image
  • java
  • JavaArray
  • JavaClass
  • JavaObject
  • JavaPackage
  • Layer
  • Link
  • Location
  • Math
  • MimeType
  • navigator
  • netscape
  • Number
  • Object
  • Option
  • Packages
  • Password
  • Plugin
  • Radio
  • RegExp
  • Reset
  • screen
  • Select
  • String
  • Style
  • Submit
  • sun
  • Text
  • Textarea
  • window

Глава 2 Свойства и Функции Верхнего Уровня
  • escape
  • eval
  • Infinity
  • isFinite
  • isNaN
  • NaN
  • Number
  • parseFloat
  • parseInt
  • String
  • taint
  • undefined
  • unescape
  • untaint

Глава 3 Обработчики Событий
  • onAbort
  • onBlur
  • onChange
  • onClick
  • onDblClick
  • onDragDrop
  • onError
  • onFocus
  • onKeyDown
  • onKeyPress
  • onKeyUp
  • onLoad
  • onMouseDown
  • onMouseMove
  • onMouseOut
  • onMouseOver
  • onMouseUp
  • onMove
  • onReset
  • onResize
  • onSelect
  • onSubmit
  • onUnload

Часть 2 Элементы Языка

Глава 4 Операторы
  • break
  • comment
  • continue
  • do...while
  • export
  • for
  • for...in
  • function
  • if...else
  • import
  • label
  • return
  • switch
  • var
  • while
  • with

Глава 5 Операции
  • Присвоения
  • Сравнения
  • Использование Операций Равенства
  • Арифметические
  • % (Modulus)
  • ++ (Инкремент)
  • -- (Декремент)
  • - (Унарное Отрицание)
  • Побитовые
  • Побитовые Логические
  • Сдвиг
  • Логические
  • Строковые
  • Специальные
  • ?: (Условная операция)
  • , (Операция "запятая" (не "Ы"))
  • delete
  • new
  • this
  • typeof
  • void

Часть 3 LiveConnect. Справочник по Классам.

Глава 6 Классы, Конструкторы и Методы Java
  • JSException
  • JSObject
  • Plugin

Часть 4 Приложения

Приложение A Зарезервированные Слова

Приложение B Значения Цвета

Приложение C Куки Netscape

Индекс
→ У