страницы обязан разрешить аплету доступ
Автор HTML- страницы обязан разрешить аплету доступ к JavaScript путём специфицирования атрибута MAYSCRIPT в тэге APPLET. Это предотвращает доступ аплета к JavaScript на странице без ведома автора страницы. Например, чтобы разрешить аплету musicPicker.class доступ к JavaScript на Вашей странице, специфицируйте:
<APPLET CODE="musicPicker.class" WIDTH=200 HEIGHT=35
NAME="musicApp" MAYSCRIPT>
Доступ к JavaScript при отсутствии специфицированного атрибута MAYSCRIPT вызывает исключение.
Информацию LiveConnect об использовании аплетов см. дополнительно в книге "Клиентский JavaScript. Руководство по Использованию".
Массив является упорядоченным набором значений,
Массив является упорядоченным набором значений, ассоциированных с одним именем переменной.
В этом примере создаётся Array -объект с литералом массива; массив coffees состоит из трёх элементов и имеет размер "три":
coffees = ["French Roast", "Columbian", "Kona"]
concat не изменяет начальные массивы,
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]
Значением свойства length является целое
Значением свойства length является целое положительное число со значением, меньшим чем 2 в степени 32 (232).
Вы можете установить свойство length в любое время для усечения массива. Если Вы увеличиваете массив, изменяя его свойство length, реальное количество элементов не увеличивается; например, если Вы устанавливаете length в 3, когда оно в данный момент равно 2, массив будет продолжать содержать только два элемента.
содержащую копии элементов, извлечённых из
slice не изменяет массив-оригинал, а возвращает новую копию "на один уровень глубже", содержащую копии элементов, извлечённых из массива-оригинала. Элементы массива-оригинала копируются в новый массив так:
Для ссылок на объекты (а не для реальных объектов) slice копирует ссылки на объект в новый массив. Новый и оригинальный массивы ссылаются на один и тот же объект. Если объект, на который ссылаются, изменяется, эти изменения появляются в обоих массивах.
Для строк и чисел (не объектов String и Number) slice копирует строки и числа в новый массив. Изменение строки или числа в одном массиве не влияет на другой массив.
Если в любой массив добавляется новый элемент, другой массив не изменяется.
Если 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
Если Вы специфицируете разные количества
Если Вы специфицируете разные количества удаляемых и вставляемых элементов, массив будет иметь по окончании вызова другой размер.
Метод splice возвращает массив, содержащий удалённые элементы. Если удаляется только один элемент, возвращается массив, состоящий из одного элемента.
Для встроенного объекта Array метод
Метод toSource возвращает следующие значения:
Для встроенного объекта Array метод toSource возвращает следующую строку, указывающую, что исходный код недоступен:function Array() {
[native code]
}
Для экземпляров объект Array метод toSource возвращает строку исходного кода.
Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде. Вы можете вызвать toSource при отладке для проверки содержимого массива.
Объект Array переопределяет метод 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 автоматически, когда массив представляется как текстовое значение или когда к массиву обращаются при конкатенации строк.
Объект Array наследует метод valueOf
Объект Array наследует метод valueOf из Object. Метод valueOf объекта Array возвращает примитивное значение массива или примитивное значение его элементов так:
Тип объекта элемента
Тип данных возвращаемого значения
Boolean | Boolean
|
Number или Date | number
|
Все прочие | string
|
Этот метод обычно вызывается в JavaScript внутренне, а не явно в коде.
Не смешивайте примитивные булевы значения
Не смешивайте примитивные булевы значения 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 вместо булева примитива.
Для встроенного объекта Boolean метод
Метод toSource возвращает следующие значения:
Для встроенного объекта Boolean метод toSource возвращает следующую строку, означающую, что исходный код недоступен:function Boolean() {
[native code]
}
Для экземпляров объекта Boolean метод toSource возвращает строку, представляющую исходный код.
Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
Объект Boolean переопределяет метод 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()
Метод valueOf объекта Boolean возвращает
Метод valueOf объекта Boolean возвращает примитивное значение объекта Boolean или Boolean-литерал как тип данных Boolean.
Этот метод обычно вызывается JavaScript внутренне, а не явно в коде.
Объект Button на форме выглядит
Объект Button на форме выглядит так:
Объект Button это элемент формы и обязан быть определён внутри тэга FORM
(теперь вроде уже нет - прим перев.).
Объект Button это специальная кнопка, которую можно использовать для выполнения определённой Вами акции. Кнопка выполняет скрипт, специфицированный её обработчиком onClick.
Каждый элемент формы имеет свойство
Каждый элемент формы имеет свойство form, то есть ссылку на родительскую форму элемента. Это свойство используется в обработчиках событий, где бывает необходимо обратиться к другому элементу текущей формы.
Свойство name первоначально отражает значение
Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку.
Не путайте свойство name с текстом, отображаемым на поверхности кнопки. Свойство value специфицирует лэйбл кнопки. Свойство name не выводится на экран; оно используется для программного обращения к объекту.
Если несколько объектов формы имеют одно значение атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный Form -объект. Элементы индексируются в порядке их появления в коде, начиная с 0. Например, если два элемента Text и элемент Button в одной форме имеют атрибут NAME со значением "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны учитывать такую ситуацию при создании кода и знать, ссылается myField на единственный элемент или на массив элементов.
Объект Checkbox на форме выглядит
Объект Checkbox на форме выглядит так:
Объект Checkbox это элемент формы и он обязан быть определён (теперь вроде уже нет - прим перев.) внутри тэга FORM.
Используйте свойство checked для специфицирования статуса переключателя (включён он или нет). Свойство defaultChecked используется для специфицирования статуса переключателя при загрузке или очистке формы.
значение его свойства checked будет
Если переключатель выбран (отмечен "птичкой"), значение его свойства checked будет true; иначе - false.
Вы можете в любой момент установить свойство checked. Вид переключателя обновляется немедленно после изменения свойства checked.
Если переключатель отмечен по умолчанию,
Если переключатель отмечен по умолчанию, значение свойства defaultChecked - true; иначе - false.
defaultChecked первоначально отражает использование атрибута CHECKED в тэге INPUT; однако установка defaultChecked переопределяет значение атрибута CHECKED.
Вы можете установить свойство defaultChecked в любой момент. Вид переключателя не изменяется после установки свойства defaultChecked, это происходит только при установке свойства checked.
Метод focus используется для перехода
Метод focus используется для перехода к переключателю и передаче ему фокуса. Тогда пользователь сможет изменять статус переключателя.
Каждый элемент формы имеет свойство
Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму. Это свойство используется в обработчиках событий, где Вам может понадобиться обратиться к другому элементу текущей формы.
Если несколько объектов формы имеют
Если несколько объектов формы имеют одно значение атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный Form -объект. Элементы индексируются в порядке их появления в коде, начиная с 0. Например, если два элемента Text и элемент Button в одной форме имеют атрибут NAME со значением "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны учитывать такую ситуацию при создании кода и знать, ссылается myField на единственный элемент или на массив элементов.
Если аргументы не заданы, конструктор
Если аргументы не заданы, конструктор создаёт объект 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;
getDay возвращает целое число, соответствующее
getDay возвращает целое число, соответствующее дню недели: 0 - воскресенье, 1 - понедельник, 2 - вторник и т.д.
getFullYear возвращает абсолютное число. Для
getFullYear возвращает абсолютное число. Для дат в диапазоне лет от 1000 до 9999 getFullYear возвращает число из 4 цифр, например, 1995. Используйте эту функцию, чтобы иметь уверенность в соответствии числа для лет после 2000.
Используёте этот метод вместо getYear.
getTime возвращает количество миллисекунд, прошедших
getTime возвращает количество миллисекунд, прошедших после 1 января 1970, 00:00:00. Вы можете использовать этот метод для присвоения даты и времени другому Date -объекту.
Смещение часового пояса это разница
Смещение часового пояса это разница между местным временем и Greenwich Mean Time (GMT). Корректировка перехода на летнее время делает это значение неконстантным.
getUTCMonth возвращает целое число
getUTCMonth возвращает целое число в диапазоне от 0 до 11.
0 - январь, 1 -февраль, 2 -март и т.д.
Метод 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, чтобы был специфицирован полный год.
и возвращает количество миллисекунд, прошедших
Метод 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 -объекта, созданного Вами.
и dayValue не специфицированы, используются
Если параметры monthValue и dayValue не специфицированы, используются значения, возвращаемые методами getMonth и getDate.
Если специфицированные Вами параметры находятся вне пределов ожидаемого диапазона, setFullYear пытается соответствующим образом обновить другие параметры и информацию даты в Date -объекте. Например, если Вы специфицируете 15 для monthValue, год увеличивается на 1 (year + 1), а 3 используется для месяца.
Если Вы не специфицировали параметры
Если Вы не специфицировали параметры minutesValue, secondsValue и msValue, используются значения, возвращаемые методами getUTCMinutes, getUTCSeconds и getMilliseconds.
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setHours пытается обновить информацию даты в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты будут увеличены на 1 (min + 1), а 40 будет использовано для секунд.
Если Вы специфицируете число вне
Если Вы специфицируете число вне пределов ожидаемого диапазона, информация даты в Date -объекте обновляется соответствующим образом. Например, если Вы специфицировали 1005, количество секунд увеличивается на 1, а 5 используется для миллисекунд.
Если Вы не специфицировали параметры
Если Вы не специфицировали параметры secondsValue и msValue, используются значения, возвращаемые методами getSeconds и getMilliseconds.
Если Вы специфицировали параметр вне ожидаемого диапазона, setMinutes пытается соответствующим образом обновить информацию даты в объекте Date. Например, если Вы использовали 100 для secondsValue, минуты (minutesValue) будут увеличены на 1 (minutesValue + 1), а 40 будет использовано для секунд.
Если Вы не специфицировали параметр
Если Вы не специфицировали параметр dayValue, используется значение из метода getDate.
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setMonth пытается обновить информацию даты в Date -объекте. Например, если Вы использовали 15 для monthValue, год увеличивается на 1 (year + 1), а 3 будет использовано для месяцев/month.
Если Вы не специфицируете параметр
Если Вы не специфицируете параметр msValue, используется значение, возвращаемое методом getMilliseconds.
Если специфицированный Вами параметр находится вне ожидаемого диапазона, setSeconds пытается обновить информацию даты в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты, хранимые в объекте Date, будут увеличены на 1, а 40 будет использовано для секунд.
Если специфицированный Вами параметр находится
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCDate пытается обновить информацию даты в Date -объекте. Например, если использовано 40 для dayValue, а хранимый в объекте Date месяц - June, день будет изменён на 10, а месяц будет увеличен до July.
Если Вы не специфицировали параметры
Если Вы не специфицировали параметры monthValue и dayValue, используются значения, возвращаемые методами getMonth и getDate.
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCFullYear пытается обновить другие параметры и информацию даты в Date -объекте. Например, если Вы специфицировали 15 для monthValue, год увеличивается на 1 (year + 1), а 3 используется для месяца.
Если Вы не специфицировали параметры
Если Вы не специфицировали параметры minutesValue, secondsValue и msValue, используются значения, возвращаемые методами getUTCMinutes, getUTCSeconds и getUTCMilliseconds.
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCHours пытается обновить информацию в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты будут увеличены на 1 (min + 1), а 40 будет использовано для секунд.
Если специфицированный Вами параметр находится
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCMilliseconds пытается обновить информацию в Date -объекте. Например, если Вы использовали 1100 для millisecondsValue, секунды, хранимые в объекте Date, будут увеличены на 1, а 100 будет использовано для миллисекунд.
Если Вы не специфицировали параметры
Если Вы не специфицировали параметры secondsValue и msValue, используются значения, возвращаемые методами getUTCSeconds и getUTCMilliseconds.
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCMinutes пытается обновить информацию в Date -объекте. Например, если Вы используете 100 для secondsValue, минуты (minutesValue) будут увеличены на 1 (minutesValue + 1), а 40 будут использованы для секунд.
Если Вы не специфицировали параметр
Если Вы не специфицировали параметр dayValue, будет использовано значение, возвращаемое методом getUTCDate.
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCMonth пытается обновить информацию в Date -объекте. Например, если Вы использовали 15 для monthValue, год будет увеличен на 1 (year + 1), а 3 будет использовано для месяцев.
Если Вы не специфицировали параметр
Если Вы не специфицировали параметр msValue, используется значение, возвращаемое методом getUTCMilliseconds.
Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setUTCSeconds пытается обновить информацию в Date -объекте. Например, если Вы использовали 100 для secondsValue, минуты, хранимые в Date -объекте, будут увеличены на 1, а 40 будет использовано для секунд.
Если yearValue это число от
setYear больше не используется и заменён на метод setFullYear.
Если yearValue это число от 0 до 99 (включительно), то год для dateObjectName устанавливается в 1900 + yearValue. Иначе год для dateObjectName устанавливается в yearValue.
Чтобы учесть годы до и после 2000, Вы должны использовать setFullYear вместо setYear, чтобы год был специфицирован полностью.
toGMTString больше не используется, не
toGMTString больше не используется, не рекомендуется к применению и заменён на метод toUTCString.
Точный формат возвращаемого toGMTString значения варьируется в зависимости от платформы.
Вы должны использовать Date.toUTCString вместо toGMTSTring.
в виду, что разные платформы
Если Вы передаёте дату с использованием toLocaleString, имейте в виду, что разные платформы ассемблируют строки по-разному. Методы, такие как getHours, getMinutes и getSeconds, дают более переносимые результаты.
Метод toLocaleString опирается на ОС при форматировании дат. Он конвертирует дату в строку, используя соглашения по форматированию операционной системы, на которой скрипт запущен. Например, в США месяц идёт перед числом (04/15/98), а в Германии число идёт перед месяцем (15.04.98). Если ОС не решает проблему year-2000 и не использует полный год для лет до 1900 или после 2000, toLocaleString возвращает строку, которая не решает проблему year-2000. toLocaleString ведёт себя аналогично методу toString при конвертации года, который ОС форматирует несоответствующим образом.
Для встроенного объекта Date метод
Метод toSource возвращает следующие значения:
Для встроенного объекта Date метод toSource возвращает следующую строку, указывающую, что исходный код недоступен: function Date() {
[native code]
}
Для экземпляров объекта Date метод toSource возвращает строку, представляющую исходный код.
Этот метод обычно вызывается JavaScript внутренне, а не явно в коде.
Объект Date переопределяет метод toString
Объект Date переопределяет метод toString объекта Object; он не наследует Object.toString. Для объектов Date метод toString возвращает строковое представление объекта.
JavaScript автоматически вызывает метод toString, когда даты представлена как текстовое значение или когда на дату ссылаются при конкатенации строк.
возвращаемое методом toUTCString, является читаемой
Значение, возвращаемое методом toUTCString, является читаемой строкой, сформатированной в соответствии с соглашением UTC. Формат return-значения может варьироваться в зависимости от платформы.
UTC принимает разделённые запятыми параметры
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 -объекта.
Метод valueOf объекта Date возвращает
Метод valueOf объекта Date возвращает примитивное значение объекта Date как тип данных number (число), количество миллисекунд, прошедших после полуночи 01 января 1970 года по UTC.
Это метод обычно вызывается в JavaScript внутренне, а не явно в коде.
Документ HTML состоит из тэгов
Документ 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, не рекомендуется применять.
ричный триплет RGB или как
Свойство alinkColor выражается как 16- ричный триплет RGB или как строковой литерал (см. книгу Клиентский JavaScript. Руководство.). Это свойство является отражением в JavaScript атрибута ALINK тэга BODY.
Если Вы выводите цвет как 16-ричный триплет RGB, Вы обязаны использовать формат rrggbb. Например, 16-ричное значение RGB цвета salmon будет red=FA, green=80 и blue=72, так что RGB-триплет для salmon будет "FA8072".
в Вашем коде, используя массив
Вы можете обращаться к объектам 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. Этот массив содержит вхождения для каждого объекта 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 выражается как 16-ричный RGB- триплет или как строковой литерал (см. книгу Клиентский JavaScript. Руководство). Это свойство является отражением в JavaScript атрибута BGCOLOR тэга BODY. По умолчанию значение этого свойства устанавливается пользователем в диалоговом окне настроек.
Если Вы записываете цвет как 16-ричный RGB-триплет, Вы обязаны использовать формат rrggbb. Например, 16-ричные значения RGB для цвета salmon будут red=FA, green=80 и blue=72, так что RGB-триплет для salmon будет "FA8072".
с фрэймами должно отлавливать события
Если окно с фрэймами должно отлавливать события на страницах, загружаемых с разных серверов, Вам необходимо использовать window.captureEvents в помеченном скрипте с предшествующим window.enableExternalCapture. Информацию и пример см. в статье window.enableExternalCapture.
captureEvents работает в паре с releaseEvents, routeEvent и handleEvent. О событиях см. дополнительно Клиентский JavaScript. Руководство.
Используйте свойство classes для специфицирования
Используйте свойство classes для специфицирования стиля тэгов HTML, имеющих специфический атрибут CLASS. Например, Вы можете специфицировать, что цвет класса GreenBody тэгов P или BLOCKQUOTE будет зелёным. См. в объекте Style описание стилевых свойств, которые Вы можете специфицировать для classes.
Если Вы используете свойство classes внутри тэга STYLE (а не внутри тэга SCRIPT), Вы можете по выбору опустить document в синтаксисе classes. Свойство classes всегда применяется к текущему объекту document.
Метод close закрывает поток, открытый
Метод close закрывает поток, открытый методом document.open. Если поток был открыт для отображения, метод close форсирует отображение содержимого потока. Тэги стиля шрифта, такие как BIG и CENTER, автоматически очищают поток вывода.
Метод close также останавливает "метеорный поток" в иконке Netscape и отображает Document: Done в статусной строке браузера.
Метод contextual предоставляет точный контроль
Метод contextual предоставляет точный контроль над специфицированием стилей. Он даёт Вам возможность применять стиль к HTML-элементу, который появляется в очень специфическом контексте. Например, Вы можете специфицировать, что цвет текста внутри тэга EM, который находится внутри тэга H1, будет голубым/blue.
Затем Вы можете уточнить выбор, специфицируя несколько контекстов. Например, Вы можете установить цвет любого тэга LI с двумя или более родительскими UL, специфицировав UL для первых двух контекстов.
Кука это небольшой блок информации,
Кука это небольшой блок информации, сохраняемый 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, со следующими исключениями:
Между значениями дня, месяца и года добавляются тире.
Год в куке это значение из двух цифр.
Свойство domain даёт скриптам возможность
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".
в Вашем коде, используя массив
Вы можете обратиться к встроенным объектам (созданных тэгом
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.
ричный триплет RGB или как
Свойство 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.
к формам, использовав массив forms
Вы можете обратиться в Вашем коде к формам, использовав массив 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.
Используйте свойство ids для специфицирования
Используйте свойство ids для специфицирования стиля любого тэга HTML, имеющего специфический атрибут ID. Например, Вы можете специфицировать, что цвет NewTopic ID - зелёный. См. в объекте Style описание стилевых свойств, которые Вы можете специфицировать для ids.
Свойство ids используется, когда Вам нужно предоставить исключение для класса, определённого в свойстве document.classes.
Если Вы используете свойство ids внутри тэга STYLE (вместо тэга SCRIPT), Вы можете по выбору исключить document из синтаксиса ids. Свойство ids всегда применяется к текущему объекту document.
Свойство lastModified происходит от даты
Свойство 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)
}
к слоям Вашего документа, используя
Вы можете обращаться к слоям Вашего документа, используя массив 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 выражается как 16-ричный RGB- триплет или как строковой литерал (см. книгу Клиентский JavaScript. Руководство). Это свойство является отражением в JavaScript атрибута LINK тэга BODY. Значение по умолчанию этого свойства устанавливается пользователем в диалоговом окне установок браузера. Вы не можете установить это свойство после того как исходный код HTML отображён.
При выражении цвета как 16-ричного RGB-триплета Вы обязаны использовать формат rrggbb. Например, 16-ричные значения RGB для цвета salmon будут red=FA, green=80 и blue=72, поэтому RGB-триплет для salmon будет "FA8072".
в Вашем коде через использование
Вы можете обращаться к объектам Area и Link в Вашем коде через использование массива links. Этот массив содержит вхождение для каждого объекта Area
(тэг <AREA HREF="...">) и Link
(<A HREF="...">) документа в порядке появления в исходном коде. Он также содержит ссылки, созданные методом link. Например, если в документе есть три ссылки, можно обратиться к ним так:
document.links[0]
document.links[1]
document.links[2]
Для получения общего количества ссылок в документе, используйте свойство length: document.links.length.
plain специфицирует документ, содержащий обычный
Значения для 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.
к другому документу, щёлкая объект
Когда пользователь переходит к другому документу, щёлкая объект Link в исходном документе, свойство referrer содержит URL исходного документа.
referrer является пустым, если пользователь ввёл URL в окне Location браузера и использовал какой-нибудь иной способ получения текущего URL. referrer является пустым также, если сервер не предоставляет информации о переменной окружения.
О событиях см. дополнительно книгу
releaseEvents работает вместе с captureEvents, routeEvent и handleEvent. О событиях см. дополнительно книгу Клиентский JavaScript. Руководство.
document или layer) также захватывает
Если субобъект ( document или layer) также захватывает событие, событие пересылается этому объекту. Иначе оно высылается оригинальному целевому объекту.
routeEvent работает вместе с captureEvents, releaseEvents и handleEvent. О событиях см. дополнительно книгу Клиентский JavaScript. Руководство.
Используйте свойство tags для специфицирования
Используйте свойство tags для специфицирования стиля HTML-тэгов. Например, Вы можете специфицировать, что цвет любого тэга H1 будет blue и что выравнивание тэгов H1 или H2 будет по центру. См. в объекте Style описание свойств, которые Вы можете специфицировать для тэгов HTML.
Поскольку все элементы HTML наследуют от тэга BODY, Вы можете специфицировать стиль по умолчанию документа, установив стили тэга BODY.
Если Вы используете свойство tags внутри тэга STYLE (а не внутри тэга SCRIPT), Вы можете по выбору опустить document в синтаксисе tags. Свойство tags всегда применяется к текущему объекту document.
Свойство title является отражением значения,
Свойство title является отражением значения, специфицируемого между начальным и конечным тэгами TITLE. Если документ не имеет названия/title, свойство title будет null.
URL это свойство со строковым
URL это свойство со строковым значением, содержащее полный URL документа. Оно обычно совпадает с тем, что установлено в свойстве window.location.href при загрузке документа, но перенаправление может изменить location.href.
триплет или как строковой литерал
Свойство vlinkColor выражается как 16-ричный RGB- триплет или как строковой литерал (см. книгу Клиентский JavaScript. Руководство). это свойство является отражением в JavaScript атрибута VLINK тэга BODY. Значение по умолчанию этого свойства устанавливается пользователем в диалоге настроек браузера. Вы не можете установить это свойство после того как исходный HTML отображён.
Если цвет выражается как 16-ричный триплет RGB, Вы обязаны использовать формат rrggbb. Например, 16-ричные RGB-значения для цвета salmon будут red=FA, green=80 и blue=72, так что RGB-триплет для salmon будет "FA8072".
Метод write отображает любое количество
Метод 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.
Метод writeln выводит любое количество
Метод writeln выводит любое количество выражений в документ окна. Вы можете специфицировать любое выражение JavaScript, включая числа, строки или логические выражения.
Метод writeln это тот же метод, что и write, за исключением того, что метод writeln присоединяет символы новой строки в конец вывода. HTML игнорирует символы новой строки, за исключением некоторых тэгов, таких как PRE.
Используйте метод writeln внутри тэгов SCRIPT или в обработчике событий. Обработчики событий выполняются после закрытия оригинального документа, поэтому метод writeln будет неявно открывать новый документ типа mimeType text/html, если Вы не вызываете явно метод document.open в обработчике события.
В Navigator 3.0 и позднее пользователи могут печатать и сохранять сгенерированный HTML, используя команды меню File браузера.
Объект FileUpload на форме выглядит
Объект FileUpload на форме выглядит так:
Объект FileUpload это элемент формы и обязан быть определён внутри тэга FORM.
Каждый элемент формы имеет свойство
Каждый элемент формы имеет свойство form, которое является ссылкой на родительскую форму элемента. Это свойство используется в обработчиках событий, где Вам может понадобиться обратиться к другому элементу текущей формы.
Свойство name первоначально отражает значение
Свойство name первоначально отражает значение атрибута NAME. Свойство name не отображается на экране; оно используется для обращения к объектам программно.
Если несколько объектов на одной форме имеют одинаковые значения атрибута NAME, автоматически создаётся массив с данным именем. Каждый элемент этого массива представляет отдельный объект формы. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент FileUpload на одной форме имеют значения атрибута NAME "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать об этой ситуации и о том, ссылается myField на единственный элемент или на массив элементов.
Используйте метод select для выделения
Используйте метод select для выделения области ввода поля загрузки файла. Вы можете использовать метод select с методом focus для выделения поля и позиционирования курсора и замены всего текста поля.
в документе является отдельным объектом.
Каждая форма в документе является отдельным объектом. Вы можете обратиться к элементам формы в Вашем коде с помощью имени элемента (из атрибута NAME) или в массиве Form.elements. Массив elements содержит вхождение для каждого элемента (такого как объекты Checkbox, Radio или Text) формы.
Если несколько объектов на одной форме имеют одинаковые значения атрибута NAME, массив с данным именем создаётся автоматически. Каждый элемент этого массива представляет отдельный объект Form. Элементы индексируются в порядке расположения в исходном коде, начиная с 0. Например, если два элемента Text и элемент Textarea на одной форме имеют атрибуты NAME, установленные в "myField", создаётся массив из элементов myField[0], myField[1] и myField[2]. Вы должны знать о такой ситуации в Вашем коде и знать, ссылается ли myField на единственный элемент или на массив элементов.
Свойство action является отражением атрибута
Свойство action является отражением атрибута ACTION тэга FORM. Каждый раздел URL содержит свою информацию. См. в Location описание компонентов URL.
в коде путём использования массива
Вы можете обратиться к элементам формы в коде путём использования массива 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.
Свойство encoding первоначально отражает атрибут
Свойство encoding первоначально отражает атрибут ENCTYPE тэга FORM; однако установка свойства encoding переопределяет атрибут ENCTYPE.
length сообщает, сколько элементов имеется
Свойство form. length сообщает, сколько элементов имеется в форме. Вы можете получить ту же самую информацию с помощью form.elements.length.
Свойство method является отражением атрибута
Свойство method является отражением атрибута METHOD тэга FORM. Свойство method должно вычисляться в "get" или "post".
Свойство name первоначально отражает значение
Свойство name первоначально отражает значение атрибута NAME. Изменение свойства name переопределяет эту установку.
Метод reset восстанавливает значения по
Метод reset восстанавливает значения по умолчанию элементов формы. Кнопка reset не обязательно должна быть определена в форме.
Метод submit отправляет специфицированную форму.
Метод submit отправляет специфицированную форму. Он выполняет те же действия, что и кнопка submit.
Используйте метод submit для отправки данных обратно на HTTP-сервер. Метод submit возвращает данные с использованием метода get" или "post," как специфицировано в Form.method.
Свойство target первоначально отражает атрибут
Свойство target первоначально отражает атрибут TARGET тэгов A, AREA и FORM; однако установка target переопределяет этот атрибут.
Вы можете установить target путём использования строки, если эта строка содержит имя окна. Свойству target не может быть присвоено значение выражения или переменной JavaScript.
созданные конструктором Function, вычисляются каждый
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)
объекты при вызове существующей функции.
Можно присваивать различные this- объекты при вызове существующей функции. this относится к текущему объекту, вызывающему объекту. С помощью apply Вы можете записать метод только один раз и затем наследовать его в другом объекте без необходимости повторно записывать этот метод для нового объекта.
apply очень похож на call, за исключением поддерживаемых типов аргументов. Вы можете использовать массив arguments вместо именованного набора параметров. С помощью apply Вы можете использовать литерал массива, например, apply(this, [name, value]), или объект Array, например, apply(this, new Array(name, value)).
Вы можете также использовать arguments для параметра argArray.
arguments является локальной переменной функции. Он может использоваться для всех неспецифицированных аргументов вызываемого объекта. Таким образом, Вы не обязаны знать аргументы вызываемого объекта, когда используете метод apply. Вы можете использовать arguments для передачи всех аргументов вызываемому объекту. Вызванный объект тогда отвечает за обработку этих аргументов.
к аргументам функции, используя массив
Вы можете обращаться к аргументам функции, используя массив 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 |
Специфицирует количество аргументов, передаваемых функции.
|
Ключевое слово this не относится
Свойство callee доступно только в теле функции.
Ключевое слово this не относится к исполняемой в данный момент функции. Используйте свойство callee для обращения к функции в теле этой функции.
в данный момент функция была
caller больше не используется.
Свойство caller доступно только в теле функции.
Если исполняемая в данный момент функция была вызвана с верхнего уровня программы JavaScript, значение caller будет null.
Ключевое слово this не относится к исполняемой в данный момент функции, поэтому Вы обязаны к функциям и объектам Function по имени, даже в теле функции.
Свойство caller является ссылкой на вызывающую функцию, поэтому,
Если Вы используете её в строковом контексте, Вы получите результат вызова functionName.toString. То есть декомпилированную каноническую исходную форму функции.
Вы также можете вызвать вызывающую функцию, если знаете аргументы, которые ей могут быть нужны. Таким образом, вызываемая функция может вызвать вызывающую функцию, не зная её имени, предполагая, что все её вызыватели имеют одну форму и размер и что они не будут необусловленно вызывать вызываемую функцию ещё раз (что может привести к бесконечной рекурсии).