Клиентский JavaScript. Справочник

         

Описание


Поскольку LN10 это static-свойство объекта Math, оно всегда записывается Math.LN10, а не как свойство Math-объекта, созданного Вами.



Описание


Поскольку LN2 это static-свойство объекта Math, он всегда записывается Math.LN2, а не как свойство Math-объекта, созданного Вами.



Описание


Если значение number - отрицательное, return-значение всегда будет NaN.

Поскольку log это static-метод объекта Math, он всегда записывается Math.log(), а не как метод Math-объекта, созданного Вами.



Описание




Поскольку LOG10E это static-свойство объекта Math, оно всегда записывается Math.LOG10E, а не как свойство Math-объекта, созданного Вами.



Описание


Поскольку LOG2E это static-свойство объекта Math, оно всегда записывается Math.LOG2E, а не как свойство Math-объекта, созданного Вами.



Описание


Поскольку max это static-метод объекта Math, он всегда записывается Math.max(), а не как метод Math-объекта, созданного Вами.



Описание


Поскольку min это static-метод объекта Math, он всегда записывается Math.min(), а не как метод Math-объекта, созданного Вами.



Описание


Поскольку PI это static-свойство объекта Math, оно всегда записывается Math.PI, а не как свойство Math-объекта, созданного Вами.



Описание


Поскольку pow это static-метод объекта Math, он всегда записывается Math.pow(), а не как метод Math-объекта, созданного Вами.



Описание


Поскольку random это static-метод объекта Math, он всегда записывается Math.random(), а не как метод Math-объекта, созданного Вами.



Описание


Если дробная часть number равна .5 или больше, аргумент округляется в сторону увеличения. Если дробная часть number меньше .5, аргумент округляется в сторону уменьшения.

Поскольку round это static-метод объекта Math, он всегда записывается Math.round(), а не как метод Math-объекта, созданного Вами.



Описание


Метод sin возвращает числовое значение в диапазоне от -1 до 1, которое представляет собой синус аргумента.

Поскольку sin это static-метод объекта Math, он всегда записывается Math.sin(), а не как метод Math-объекта, созданного Вами.



Описание


Если значение number - отрицательное, sqrt возвращает NaN.

Поскольку sqrt это static-метод объекта Math, он всегда записывается Math.sqrt(), а не как метод Math-объекта, созданного Вами.



Описание


Поскольку SQRT1_2 это static-свойство объекта Math, оно всегда записывается Math.SQRT1_2, а не как свойство Math-объекта, созданного Вами.



Описание


Поскольку SQRT2 это static-свойство объекта Math, оно всегда записывается Math.SQRT2, а не как свойство Math-объекта, созданного Вами.



Описание


Метод tan возвращает числовое значение - тангенс угла.

Поскольку tan это static-метод объекта Math, он всегда записывается Math.tan(), а не как метод Math-объекта, созданного Вами.



Описание


Каждый 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



Описание


Используйте свойство 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-типа.



Описание


Свойство suffixes это строка, состоящая из правильных расширений (обычно из трёх символов), разделённых запятыми. Например, расширения для MIME-типа "audio/x-midi" будут "mid, midi".



Описание


Используйте объект navigator для определения версии используемого Navigator'а (браузера), какие MIME-типы может обрабатывать Navigator пользователя и какие plug-in'ы установлены у пользователя. Все свойства объекта navigator - только для чтения/read-only.



Описание


Свойство appVersion специфицирует информацию о версии в следующем формате:

releaseNumber (platform; country)

Содержащиеся значения:

releaseNumber - номер версии Navigator'а. Например, "2.0b4" специфицирует Navigator 2.0, beta 4. platform - платформа на которой работает Navigator. Например, "Win16" специфицирует 16-битную версию Windows, такую как Windows 3.1. country это либо "I" для международной версии, либо "U" - для релиза США. Релиз для США имеет более надёжное кодирование информации, чем международный релиз.



Описание


javaEnabled возвращает true, если Java включён; иначе - false. Пользователь может включить и отключить Java в установках пользователя.



Описание


Значение языка/language это обычно 2-буквенный код, такой как "en", иногда - 5-символьный код, указывающий также подтип языка, такой как "zh_CN".

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



Описание


Значения платформ: Win32, Win16, Mac68k, MacPPC и различные варианты Unix.

Тип машины, для которого Navigator скомпилирован, может отличаться от реального типа машины по причине различий версий, разных эмуляторов или по другим показателям.

Если Вы используете SmartUpdate для загрузки программного обеспечения на пользовательскую машину, Вы можете использовать это свойство, чтобы убедиться, что тригер загружает соответствующие JAR-файлы. Страница-переключатель/тригер проверяет версию Navigator'а перед проверкой свойства platform. Об использовании SmartUpdate см. Using JAR Installation Manager for SmartUpdate.



Описание


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

При наличии разрешения Вы можете получать и устанавливать настройки, показанные в таблице:

Таблица 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



Описание


Этот метод немедленно сохраняет текущие настройки Navigator'а в пользовательском файле настроек prefs.js. Navigator также сохраняет настройки автоматически при выходе из программы.



Описание


Разрушение данных предотвращает передачу секретной/закрытой информации, такой как структура директорий или история пользовательских сессий. JavaScript не может передать разрушенные значения на любой сервер без окончания действия разрешений конечного пользователя.

Используйте taintEnabled для определения того, включено ли по умолчанию разрушение данных. taintEnabled возвращает true, если разрушение данных включено, иначе - false. Пользователь включает или отключает разрушение данных, используя переменную окружения NS_ENABLE_TAINT.



Описание


Сервер использует значение, пересылаемое в шапке user-agent, для идентификации клиента.



Описание


Объект netscape это синоним свойства Packages.netscape.



Описание


В основном объект Number используется:

Для доступа к его константам и свойствам, которые представляют наибольшее и наименьшее представимые числа, положительную и отрицательную бесконечность и значение Not-a-Number\Не-Число. Для создания числовых объектов, к которым Вы можете добавлять свойства. Вероятнее всего, Вы редко будете создавать Number-объект.

Свойства объекта Number являются свойствами самого класса, а не индивидуальными объектами Number.

JavaScript 1.2: Number(x) выдаёт теперь NaN, а не ошибку, если x это строка, не содержащая правильно сформированный числовой литерал. Например,

x=Number("three");document.write(x + "<BR>");

печатает NaN

Вы можете конвертировать любой объект в число путём использования функции верхнего уровня Number.



Описание


Свойство MAX_VALUE имеет значение приблизительно 1.79E+308. Значения, которые больше MAX_VALUE, представляются как "Infinity".

Поскольку MAX_VALUE это static-свойство объекта Number, Вы всегда используете его так Number.MAX_VALUE, а не как свойство Number-объекта, созданного Вами.



Описание


Свойство MIN_VALUE это число, близкое к 0, а не наименьшее отрицательное число, которое может быть представлено в JavaScript.

MIN_VALUE имеет значение приблизительно 5e-324. Значения, которые меньше MIN_VALUE ("отрицательное переполнение"), конвертируются в 0.

Поскольку MIN_VALUE это static-свойство объекта Number, Вы всегда записываете его Number.MIN_VALUE, а не как свойство Number-объекта, созданного Вами.



Описание


JavaScript печатает значение Number.NaN как NaN.

NaN всегда не равно любому другому числу, включая само NaN; Вы не можете проверить значение not-a-number путём сравнения его с Number.NaN. Используйте для этого функцию isNaN.

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



Описание


Это значение ведёт себя несколько иначе, чем математическая бесконечность:

Любое 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.



Описание


Это значение ведёт себя несколько иначе, чем математическая бесконечность:

Любое положительное значение, включая 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.



Описание


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

Для встроенного объекта Number метод toSource возвращает следующую строку, указывающую на то, что исходный код недоступен:function Number() {
      [native code]
   } Для Number-экземпляров метод toSource возвращает строку с исходным кодом.

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



Описание


Объект 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-объекта как тип данных number.

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



Описание


Все объекты наследуют свойство 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



Описание


eval как метод объекта Object и каждого объекта, происходящего от Object, не рекомендуется применять. Используйте функцию верхнего уровня eval.



Описание


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

Для встроенного объекта Object метод toSource возвращает следующую строку, указывающую, что исходный код недоступен:function Object() {
      [native code]
   } Для экземпляров объекта Object, метод toSource возвращает строку, представляющую исходный код. Для специальных объектов метод toSource возвращает исходный код JavaScript, определяющий объект, как строку.

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



Описание


Каждый объект имеет метод 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 имеет функциональность, похожую на функциональность, предоставляемую этим методом, а также другие опции отладки. Об отладчике см. Getting Started with Netscape JavaScript Debugger.

По умолчанию этот метод наследуется каждым объектом - потомком объекта Object.



Описание


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.



Описание


Наблюдает за свойством по имени prop в данном объекте, вызывая handler(prop, oldval, newval), когда prop устанавливается и сохраняет return-значение в этом свойстве. Метод watchpoint может фильтровать (или обнулять) значение, возвращая модифицированное newval (или oldval).

Если Вы удалили свойство, для которого watchpoint был установлен, это watchpoint не исчезает. Если Вы позднее воссоздаёте свойство, watchpoint всё ещё продолжает действовать.

Чтобы удалить watchpoint, используйте метод unwatch. По умолчанию метод watch наследуется каждым объектом - потомком объекта Object.

Отладчик JavaScript имеет функциональность, похожую на функциональность, предоставляемую этим методом, а также другие опции отладки. Об отладчике см. Getting Started with Netscape JavaScript Debugger.



Описание


Обычно Вы работаете с объектами 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

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



Описание


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

Вы можете установить свойство defaultSelected в любое время. Отображение соответствующего Select-объекта не обновляется, когда Вы устанавливаете свойство defaultSelected опции, оно обновляется только при установке свойств Option.selected или Select.selectedIndex.

Объект Select, созданный без атрибута MULTIPLE, может иметь выбранной по умолчанию только одну опцию. Если Вы устанавливаете defaultSelected в таком объекте, любые предыдущие установки по умолчанию, включая установки атрибутом SELECTED, очищаются. Если Вы устанавливаете defaultSelected в Select-объекте, созданном с атрибутом MULTIPLE, предыдущие установки выбора не изменяются.



Описание


Если опция Select-объекта выбрана, значение свойства selected опции равно true; иначе - false. Вы можете установить свойство selected в любое время. Вид ассоциированного Select-объекта обновляется сразу после установки свойства selected для одной из его опций.

Вообще, свойство Option.selected используется чаще, чем свойство Select.selectedIndex, в Select-объектах, созданных с атрибутом MULTIPLE. С помощью свойства Option.selected Вы можете вычислять каждую опцию массива Select.options для определения множественного выбора, а также можете выбирать отдельные опции без изменения статуса выбора других опций.



Описание


Свойство text первоначально содержит текст, который идёт после тэга OPTION в тэге SELECT. Вы можете установить свойство text в любое время, и текст, отображаемый опцией в списке выбора, изменится.



Описание


Если атрибут VALUE специфицируется в HTML, то свойство value это строка, отражающая его. Если атрибут VALUE не специфицируется в HTML, то свойство value это пустая строка. Свойство value не отображается на экране, а возвращается на сервер, если опция выбрана.

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



Описание


Объект 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  объекта Packages для доступа к классам вне пакетов netscape, sun и java.



Описание


Используйте свойство java для доступа к любому классу пакета java из кода JavaScript. Обратите внимание, что объект верхнего уровня java является синонимом Packages.java.



Описание


Используйте свойство netscape для доступа к любому классу пакета netscape из кода JavaScript. Обратите внимание, что объект верхнего уровня netscape является синонимом Packages.netscape.



Описание


Используйте свойство sun для доступа к любому классу пакета sun из кода JavaScript. Обратите внимание, что объект верхнего уровня sun является синонимом Packages.sun.



Описание


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

Объект Password это элемент формы, и он обязан быть определён внутри тэга FORM.



Описание


Начальное значение defaultValue равно null (из соображений безопасности), независимо от значения атрибута VALUE.

Установка defaultValue программно переопределяет начальное значение. Если Вы программно устанавливаете defaultValue для Password-объекта и затем вычисляете его, JavaScript возвращает текущее значение.

Вы можете установить свойство defaultValue в любое время. Вид соответствующего объекта не обновляется при установке Вами свойства defaultValue, это делается только при установке свойства value.



Описание


Используйте метод focus для перехода к полю password и передачи ему фокуса. Вы можете затем программно ввести значение в это поле или дать пользователю возможность сделать это.



Описание


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



Описание


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

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



Описание


Используйте метод select для выделения области ввода поля password. Вы можете использовать метод select совместно с методом focus для выделения области ввода и позиционирования на ней курсора.



Описание


Эта строка представляется как серия звёздочек в поле Password-объекта. Значение этого свойства изменяется, если пользователь или программа модифицирует это поле, но это значение всегда отображается звёздочками.



Описание


Объект 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.



Описание


Свойство filename это имя программного файла plug-in'а, которое предоставляется самим plug-in'ом. Это имя может варьироваться для разных платформ.



Описание


Имя plug-in'а, предоставляемое самим plug-in'ом. Каждый plug-in должен иметь уникальное имя-идентификатор.



Описание


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

Radio-объект является элементом формы и обязан быть определён внутри тэга FORM.



Описание


Если радио-кнопка выбрана, значение её свойств checked будет true; иначе - false. Вы можете установить свойство checked в любое время. Вид радио-кнопки обновляется сразу после изменения её свойства checked.

В данный момент времени только одна кнопка группы кнопок может быть выбрана. Если Вы устанавливаете свойство checked для одной кнопки группы в true, это свойство в других кнопках становится false.



Описание


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

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

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



Описание


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



Описание


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



Описание


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

Все радио-кнопки, имеющие одно значение свойства name, находятся в одной группе кнопок и обрабатываются вместе. Если Вы изменяете name одной радио-кнопки, вы изменяете группу, к которой принадлежит эта кнопка.

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



Описание


Если атрибут VALUE специфицирован в HTML, свойство value является строкой, отражающей его. Если атрибут VALUE не специфицирован в HTML, свойство value является строкой, которая вычисляется в "on". Свойство value не выводится на экран, но возвращается на сервер, если радио-кнопка или переключатель/checkbox выбраны.

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



Описание


При использовании функции-конструктора необходимо использовать нормальные правила замены (escape) символов (вставка перед специальными символами обратного слэша \). Например, следующие записи эквивалентны:

re = newRegExp("\\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
Где \ooctal это 8-ричное escape-значение или где \xhex  это 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.



Описание


Поскольку input является static-свойством, оно не является свойством отдельного объекта регулярного выражения. Поэтому Вы всегда используете его так: RegExp.input.

Количество подстрок в скобках не ограничивается, но предопределённый объект RegExp может содержать только последние девять. Вы можете иметь доступ ко всем подстрокам в скобках через возвращаемые индексы массива.

Эти свойства могут использоваться в замещающем тексте для метода String.replace. При таком использовании не вводите перед ними префикс RegExp. Пример далее иллюстрирует это. Если скобки не включены в регулярное выражение, скрипт интерпретирует $n литерально (где n  это положительное целое число).



Описание


Метод compile используется для компиляции регулярного выражения, созданного функцией-конструктором RegExp. Это форсирует компиляцию регулярного выражения только однократно, что означает, что регулярное выражение не компилируется всякий раз при его обнаружении. Используйте метод compile, когда Вам известно, что регулярное выражение будет константным (после получения его патэрна) и будет многократно использоваться в скрипте.

Вы можете также использовать метод compile для изменения регулярного выражения в процессе выполнения. Например, если регулярное выражение изменяется, вы можете использовать метод compile для рекомпиляции объекта для повышения эффективности последующего неоднократного использования.

Вызов этого метода изменяет значение свойств source, global и ignoreCase регулярного выражения.



Описание


Как видно из описания синтаксиса, метод 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

myRelastIndex Индекс начала следующего совпадения. 5
ignoreCase Указывает, используется ли флаг "i" для игнорирования регистра символов true
global Указывает, используется ли флаг "g" для глобального поиска совпадения true
source Текст патэрнаd(b+)(d)

RegExplastMatch
$&
Последние совпавшие символы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



Описание


global это свойство отдельного объекта регулярного выражения.

Значение global будет true, если флаг "g" используется; иначе - false. Флаг "g" указывает, что регулярное выражение должно проверяться относительно всех возможных совпадений в строке.

Вы не можете изменять это свойство явно. Однако вызов метода compile изменяет значение этого свойства.



Описание


ignoreCase это свойство отдельного объекта регулярного выражения.

Значение ignoreCase будет true, если флаг "i" используется; иначе - false. Флаг "i" указывает, что регистр символов должен игнорироваться при поиске совпадений в строке.

Вы не можете изменять это свойство явно. Однако вызов метода compile изменяет значение этого свойства.



Описание


Поскольку 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 это свойство отдельного объекта регулярного выражения.

Это свойство устанавливается, только если регулярное выражение использовало флаг "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 это static-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.lastMatch.



Описание


Поскольку lastParen iэто static-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.lastParen.



Описание


Поскольку leftContext это statiс-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.leftContext.



Описание


Поскольку multiline это statiс-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.multiline.

Значение multiline будет true, если выполняется поиск на нескольких строках текста, false - если поиск обязан остановиться на символе конца строки.

Скрипт или браузер могут предустанавливать свойство multiline. Если обработчик события вызывается из элемента TEXTAREA, браузер устанавливает multiline в true.
multiline очищается после завершения работы обработчика события. Это означает, что, если Вы предварительно установили multiline в true, оно восстанавливается в false после выполнения работы любого обработчика события.



Описание


Поскольку rightContext это statiс-свойство, оно не является свойством отдельного объекта регулярного выражения. Вы должны всегда использовать его так: RegExp.rightContext.



Описание


source это свойство отдельного объекта регулярного выражения.

Вы не можете изменять это свойство явно. Однако вызов метода compile изменяет значение этого свойства.



Описание


Если Вам нужно знать, найдено ли совпадение патэрна в строке, используйте метод test (аналогично методу String.search); для получения большей информации (но при более медленном выполнении) используйте метод exec (аналогично методу String.match).



Описание


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

Для встроенного объекта RegExp метод toSource возвращает следующую строку, означающую, что исходный код недоступен:function Boolean() {
      [native code]
   } Для экземпляров объекта RegExp метод toSource возвращает строку, представляющую исходный код объекта.

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



Описание


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



Описание


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

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



Описание


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

Объект Reset является элементом формы и обязан определяться в тэге FORM.

Обработчик onClick кнопки reset не может предотвратить восстановление данных формы; если кнопка нажата, восстановление не может быть отменено.



Описание


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



Описание


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

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

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



Описание


Эта строка отображается на поверхности кнопки. Если атрибут VALUE не специфицирован в HTML, свойство value имеет значение "Reset".

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



Описание


Этот объект содержит свойства только для чтения/read-only, которые позволяют получить информацию о пользовательском мониторе.



Описание


На рисунке показана форма с двумя списками selection. Пользователь может выбрать один элемент из списка слева и несколько элементов в списке справа:

Объект Select это элемент формы, он обязан быть определён в тэге FORM.



Описание


Используйте метод focus для перехода к списку selection и передачи ему фокуса.



Описание


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



Описание


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

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



Описание


Вы можете обратиться к опции объекта 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-объектом.



Описание


Опции в объекте Select индексируются в том порядке, в котором они определены, начиная с индекса 0. Вы можете установить свойство selectedIndex в любое время. Вид объекта Select обновляется сразу после установки свойства selectedIndex.

Если ни одна опция не выбрана, selectedIndex имеет значение -1.

Вообще свойство selectedIndex больше подходит для Select-объектов, которые создаются без атрибута MULTIPLE. Если Вы вычисляете selectedIndex, когда выбраны несколько опций, свойство selectedIndex специфицирует индекс только первой опции. Установка selectedIndex очищает любые другие выбранные опции в объекте Select.

Свойство Option.selected больше подходит для работы с теми объектами Select, которые создаются с атрибутом MULTIPLE. С помощью свойства Option.selected Вы можете вычислять каждую опцию массива options для определения множественного выбора, а также можете выбрать отдельные опции без очистки статуса выбора других опций.



Описание


Объект 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.