Эта функция возвращает абсолютное значение переменной x:
function getAbs(x) { return Math.abs(x) }
Описание
Поскольку abs это static-метод из Math, Вы всегда используете его так: Math.abs(), а не как метод Math-объекта, созданного Вами.
Acos
Возвращает арккосинус числа (в радианах).
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
acos(x)
Параметр
x
Число.
Описание
Метод acos возвращает числовое значение от 0 до pi радиан. Если значение number
находится вне этого диапазона, возвращается NaN Not a Number/"не число").
Поскольку acos это static-метод из Math, Вы всегда используете его так: Math.acos(), а не как метод Math-объекта, созданного Вами.
Примеры
Эта функция возвращает арккосинус переменной x:
function getAcos(x) { return Math.acos(x) }
Если Вы передаёте -1 в getAcos, он возвращает 3.141592653589793; если передаёте 2, возвращает NaN, поскольку 2 - вне диапазона.
См. также
, , , , , .
Anchor
Создаёт HTML-якорь, используемый как цель для гиперссылки.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Синтаксис
anchor(nameAttribute)
Параметры
nameAttribute
Строка.
Описание
Используйте метод anchor с методами document.write или document.writeln
для программного создания и отображения якоря в документе. Создаёт якорь методом anchor, а затем вызывает write или writeln для отображения якоря в документе. В серверном JavaScript используйте функцию write для отображения якоря.
В этом синтаксисе текстовая строка представляет литеральный текст, который должен видеть конечный пользователь. Строка nameAttribute представляет атрибут NAME тэга A.
Якоря, созданные методом anchor, становятся элементами массива document.anchors.
Примеры
В этом примере открывается окно msgWindow и создаётся якорь для для оглавления:
Это пример создаёт такой же вывод, как и следующий HTML:
<A NAME="contents_anchor">Table of Contents</A>
См. также
.
Apply
Эта возможность отсутствует спецификации ECMA, соответствующей JavaScript 1.3, но ожидается в следующей её версии.
Позволяет применять метод одного объекта в контексте другого объекта (вызывающего объекта).
Метод из
Реализован в
JavaScript 1.3
Синтаксис
apply(thisArg[, argArray])
Параметры
thisArg
Параметр для вызывающего объекта.
argArray
Массив аргументов для объекта.
Описание
Вы можете назначить другой объект this при вызове существующей функции. this
ссылается на текущий объект, вызывающий объект. С помощью apply
Вы можете написать метод один раз и затем наследовать его в другом объекте без необходимости переписывать метод для нового объекта.
apply очень похож на call, за исключением поддерживаемых типов аргументов. Вы можете использовать массив аргументов вместо именованного набора параметров. С помощью apply Вы можете использовать литерал массива, например, apply(this, [name, value]), или объект Array, например, apply(this, new Array(name, value)).
Вы можете также использовать для параметра argArray. arguments
это локальная переменная функции. Она может быть использована для всех неспецифицированных аргументов вызываемой функции. Таким образом, Вы не должны знать аргументы вызываемого объекта, когда применяете метод apply. Вы можете использовать arguments
для передачи всех аргументов вызываемому объекту. Вызванный объект после этого отвечает за обработку этих аргументов.
Примеры
Вы можете использовать apply для создания цепочки конструкторов для объекта, как в Java. В этом примере конструктор объекта product определяется с двумя параметрами, name и value. Другой объект, prod_dept, инициализирует свою уникальную переменную (dept) и вызывает конструктор для product
в своём конструкторе для инициализации других переменных. В данном примере параметр arguments
используется для всех аргументов конструктора объекта product.
Function product(name, value){
this.name = name;
if(value > 1000)
this.value = 999;
else
this.value = value;
}
Function prod_dept(name, value, dept){
this.dept = dept;
product.apply(product, arguments);
}
prod_dept.prototype = new product();
// поскольку 5 меньше 100, значение устанавливается
cheese = new prod_dept("feta", 5, "food");
// поскольку 5000 больше 1000, значением будет 999
car = new prod_dept("honda", 5000, "auto");
См. также
Arguments
Массив из аргументов, передаваемых функции.
Локальная переменная из
Все объекты функции.
Свойство из
(не рекомендуется).
Реализовано в
JavaScript 1.1, NES 2.0
JavaScript 1.2: добавлено свойство .
JavaScript 1.3: не рекомендуется свойство ; удалена поддержка имён аргументов и и мён локальных переменных как свойств массива arguments.
JavaScript 1.4: не рекомендуются arguments, и как свойства Function; arguments
остался как локальная переменная функции, и и - как свойства этой переменной.
Версия ECMA
ECMA-262
Описание
Массив arguments это локальная переменная, доступная внутри всех объектов функции; arguments
больше не используется в качестве свойства Function.
Вы можете обращаться к аргументам функции внутри функции через использование массива arguments. Этот массив содержит вход для каждого аргумента, передаваемого функции. Например, если функции передаются три аргумента, Вы можете обращаться к этим аргументам так:
arguments[0]
arguments[1]
arguments[2]
Массив arguments доступен только внутри тела функции. Попытка получить доступ к массиву arguments
за пределами объявления функции приводит к ошибке.
Вы можете использовать массив arguments
при вызове функции с большим количеством аргументов, чем формально объявлено. Эта техника используется в функциях, которым может передаваться непостоянное количество аргументов. Можно использовать arguments.length для определения количества аргументов, переданных функции, а затем обработать каждый аргумент с помощью массива arguments. (Чтобы определить количество аргументов, объявленных при определении функции, используйте свойство .)
Массив arguments имеет следующие свойства:
Свойство
Описание
Специфицирует тело выполняемой в данный момент функции.
Специфицирует имя функции, которая вызвала выполняемую в данный момент функцию. (Не рекомендуется использовать).
Специфицирует количество аргументов, передаваемых функции.
Обратная Совместимость
JavaScript 1.3 и более ранние версии.
Помимо использования в качестве локальной переменной, массив arguments
является также свойством объекта Function и может иметь перед собой имя функции. Например, если функции myFunc
передаются три аргумента с именами arg1, arg2 и arg3, Вы можете обращаться к этим аргументам так:
myFunc.arguments[0]
myFunc.arguments[1]
myFunc.arguments[2]
JavaScript 1.1 и 1.2.
Следующие возможности из JavaScript 1.1 и JavaScript 1.2 были удалены:
Каждая локальная переменная функции является свойством массива arguments. Например, если функция myFunc
имеет локальную переменную с именем myLocalVar, Вы можете обратиться к этой переменной: arguments.myLocalVar.
Каждый формальный аргумент функции является свойством массива arguments. Например, если функция myFunc имеет два аргумента с именами arg1 и arg2, Вы можете обратиться к этим аргументам: arguments.arg1 и arguments.arg2. (Вы можете также обратиться к ним arguments[0] и arguments[1].)
Примеры
Пример 1.
Здесь определена функция, соединяющая несколько строк. Единственным формальным аргументом этой функции является строка, специфицирующая символы, разделяющие объединяемые элементы. Функция определяется так:
Function myConcat(separator) {
result="" // инициализация списка
// iterate through arguments
for (var i=1; i<arguments.length; i++) {
result += arguments[i] + separator
}
return result
}
Вы можете передать этой функции любое количество аргументов, и она создаст список, используя каждый аргумент как элемент списка:
Здесь определена функция, создающая HTML-списки. Единственным формальным аргументом этой функции является строка, которая будет "U", если список неупорядоченный (bulleted), или "O", если это упорядоченный/нумерованный список. Функция определяется так:
Function list(type) {
document.write("<" + type + "L>") // начало списка
// итерация по аргументам
for (var i=1; i<arguments.length; i++) {
document.write("<LI>" + arguments[i])
}
document.write("</" + type + "L>") // конец списка
}
Вы можете передать этой функции любое количество аргументов, и она отобразит каждый аргумент как элемент списка указанного типа. Например, этот вызов функции:
list("U", "One", "Two", "Three")
даст на выходе:
<UL>
<LI>One
<LI>Two
<LI>Three
</UL>
В серверном JavaScript Вы можете отобразить тот же вывод путём вызова функции вместо document.write.
Arguments.callee
Специфицирует тело выполняемой в данный момент функции.
Свойство из
Локальная переменная ; (не рекомендуется).
Реализовано в
JavaScript 1.2
JavaScript 1.4: callee не рекомендуется в качестве свойства для Function.arguments, осталось как свойство локальной переменной arguments функции.
Версия ECMA
ECMA-262
Описание
arguments.callee
это свойство локальной переменной , доступной внутри всех объектов функции; arguments.callee больше не используется как свойство в Function.
Свойство callee доступно только внутри тела функции.
Ключевое слово this не ссылается на выполняемую в данный момент функцию. Используйте свойство callee
для обращения к функции внутри тела функции.
Примеры
Эта функция возвращает значение вызова свойства callee.
Function myFunc() {
return arguments.callee
}
Возвращается следующее значение:
Function myFunc() { return arguments.callee; }
См. также
.
caller">
Arguments.caller
Специфицирует имя функции, которая вызвала выполняемую в данный момент функцию.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Не рекомендуется в JavaScript 1.3
Описание
caller больше не используется.
Свойство caller доступно только внутри тела функции.
Если выполняемая в данный момент функция была вызвана с верхнего уровня программы JavaScript, caller имеет значение null.
Ключевое слово this не ссылается на выполняемую в данный момент функцию, поэтому Вы обязаны обращаться к функциям и к объектам Function по имени, даже в теле функции.
Свойство caller это ссылка на вызывающую функцию, поэтому:
Если Вы используете его в контексте строки, Вы получите результат вызова FunctionName.toString. То есть - декомпилированную каноническую исходную форму функции.
Вы можете также использовать вызывающую функцию, если знаете, какие аргументы ей могут понадобиться. Таким образом, вызываемая функция может вызвать вызвавшую её функцию без знания имени конкретного вызывающего, предполагая, что она знает, что все её вызыватели имеют ту же форму и построение и что они не будут вызывать вызванную функцию ещё раз безусловно (что может привести к бесконечному зацикливанию).
Примеры
Проверяется значение свойства caller функции:
Function myFunc() {
if (arguments.caller == null) {
return ("Функция была вызвана с верхнего уровня!")
} else return ("this Function's caller was " + arguments.caller)
}
См. также
.
Arguments.length
Специфицирует количество аргументов, передаваемых функции.
Свойство из
Локальная переменная ; (не рекомендуется).
Реализовано в
JavaScript 1.1
JavaScript 1.4: length не рекомендуется как свойство для Function.arguments, осталось как свойство локальной переменной arguments функции.
Версия ECMA
ECMA-262
Описание
arguments.length это свойство локальной переменной , доступной внутри всех объектов функции; arguments.length как свойство в Function больше не используется.
arguments.length предоставляет несколько аргументов, реально передаваемых функции. По контрасту, свойство указывает, сколько аргументов функция ожидает получить.
Пример
Использование >Function.length и arguments.length:
Function addNumbers(x,y){
if (arguments.length == addNumbers.length) {
return (x+y)
}
else return 0
}
Если Вы передаёте этой функции более двух аргументов, она возвращает 0:
result=addNumbers(3,4,5) //
возвращает 0
result=addNumbers(3,4) //
возвращает 7
result=addNumbers(103,104) // возвращает 207
См. также
.
arity">
Арифметические Операции
Арифметические операции принимают числовые значения (литералы или переменные) в качестве операндов и возвращают одно числовое значение. Стандартными арифметическими операциями являются сложение (+), вычитание (-), умножение (*) и деление (/).
Реализованы в
JavaScript 1.0
Версия ECMA
ECMA-262
Эти операции работают так же, как и в большинстве других языков программирования, за исключением того, что операция / возвращает в JavaScript частное с плавающей точкой, а не целочисленный результат деления, как в языках C и Java. Например:
1/2 //возвращает 0.5 в JavaScript
1/2 //возвращает 0 в Java
Arity
Специфицирует количество аргументов, ожидаемых функцией.
Свойство из
Реализовано в
JavaScript 1.2, NES 3.0
Не рекомендуется JavaScript 1.4.
Описание
arity больше не используется и заменена на свойство .
arity это внешняя функция, указывающая, сколько аргументов функция ожидает. По контрасту, предоставляет количество аргументов, реально передаваемых функции.
Пример
Использование arity и .
Function addNumbers(x,y){
if (arguments.length == addNumbers.length) {
return (x+y)
}
else return 0
}
Если Вы передаёте этой функции более двух аргументов, она возвращает 0:
result=addNumbers(3,4,5) //
возвращает 0
result=addNumbers(3,4) //
возвращает 7
result=addNumbers(103,104) //
возвращает 207
См. также
, .
Array
Позволяет работать с массивами.
Объект ядра
Реализован в
JavaScript 1.1, NES 2.0
JavaScript 1.3: добавлен метод ; изменено свойство ; изменён метод .
ECMA-версия
ECMA-262
Создание
Конструктор объекта Array:
new Array(arrayLength)
new Array(element0, element1, ..., elementN)
Литерал массива:
[element0, element1, ..., elementN]
JavaScript 1.2
Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT> :
new Array(element0, element1, ..., elementN)
JavaScript 1.2
Если Вы не специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT> :
new Array([arrayLength])
new Array([element0[, element1[, ..., elementN]]])
JavaScript 1.1
new Array([arrayLength])
new Array([element0[, element1[, ..., elementN]]])
Параметры
arrayLength
Начальный размер массива. Доступ к этому значению Вы можете получить через свойство length.
Если специфицированное значение - не число, создаётся массив размером 1 с первым элементом, имеющим специфицированное значение. Максимальный возможный размер массива: 4,294,967,295.
elementN
Список значений элементов массива. Если специфицирована эта форма, массив инициализируется со специфицированными значениями в качестве элементов, а свойство length массива устанавливается в количество аргументов.
Описание
Массив это упорядоченный набор значений, ассоциированных с одним именем переменной.
В этом примере создаётся объект Array с литералом массива; массив coffees содержит три элемента и имеет длину "три":
coffees = ["French Roast", "Columbian", "Kona"]
Вы можете создать плотный массив из двух или более элементов, начиная с индекса 0, если Вы определяете начальные значения для всех элементов. Плотным является массив, в котором каждый элемент имеет значение. Следующий код создаёт плотный массив из трёх элементов:
myArray = new Array("Hello", myVar, 3.14159)
Индексирование массива
Элемент массива индексируется порядковым номером.
Например: предположим, Вы определяете такой массив:
myArray = new Array("Wind","Rain","Fire")
Затем Вы обращаетесь к первому элементу массива myArray[0], а ко второму элементу - myArray[1].
Специфицирование единственного параметра
Если Вы специфицируете единственный числовой параметр в конструкторе Array, Вы специфицируете начальный размер массива. Следующий код создаёт массив из 5 элементов:
billingMethod = new Array(5)
Поведение конструктора Array
зависит от того, является ли единственный параметр числом.
Если специфицировано число, конструктор конвертирует число в беззнаковое 32-битное целое число и генерирует массив со свойством length (размер массива), установленным в это целое. Массив первоначально не содержит элементов, хотя и может иметь ненулевой размер.
Если специфицировано число, создаётся массив размером 1 с первым элементом, имеющим специфицированное значение.
Следующий код создаёт массив размером 25, затем присваивает значения первым трём элементам:
musicTypes = new Array(25)
musicTypes[0] = "R&B"
musicTypes[1] = "Blues"
musicTypes[2] = "Jazz"
Увеличение размера массива косвенно
Размер массива увеличивается, если Вы присваиваете значение элементу с более высоким индексом, чем текущий размер массива. Следующий код создаёт массив размером 0, а затем присваивает значение элементу 99. Это изменяет размер массива на 100.
colors = new Array() colors[99] = "midnightblue"
Создание массива путём использования результата совпадения
В результате совпадения регулярного выражения и строки может быть создан массив. Этот массив имеет свойства и элементы, которые предоставляют информацию о совпадении. Массив является return-значением ,
и .
Чтобы лучше пояснить эти свойства и элементы, просмотрите следующий код, а затем - таблицу:
<SCRIPT LANGUAGE="JavaScript1.2">
//Совпадает одно d с последующим одним или более b с последующим одним d
//Запоминаются совпавшие b с последующим d
//Регистр игнорируется
myRe=/d(b+)(d)/i;
myArray = myRe.exec("cdbBdbsbz");
</SCRIPT>
Свойства и элементы, возвращённые из этого совпадения:
Свойство/Элемент
Описание
Пример
input
Свойство только для чтения, содержание которого отражает оригинальную строку, относительно которой выполняется совпадение с регулярным выражением.
cdbBdbsbz
index
Свойство только для чтения, которое является индексом с базой 0 совпадения в строке.
1
[0]
Элемент только для чтения, который специфицирует последние совпавшие символы.
dbBd
[1], ...[n]
Элементы только для чтения, которые специфицируют совпадения подстроки в скобках, если она включена в регулярное выражение. Количество подстрок, заключённых в кавычки, не лимитировано.
[1]=bB [2]=d
Обратная совместимость
JavaScript 1.2.
Если Вы специфицируете единственный параметр в конструкторе Array, поведение зависит от того, специфицировали ли Вы LANGUAGE="JavaScript1.2"
в тэге <SCRIPT>:
Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT>, возвращается массив, состоящий из одного элемента. Например, new Array(5)
создаёт массив из одного элемента с первым элементом со значением 5. Конструктор с единственным параметром работает так же, как конструктор с несколькими параметрами. Вы не можете специфицировать свойство length массива Array, используя конструктор с одним параметром.
Если Вы не специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT>, Вы специфицируете начальный размер массива, как в других версиях JavaScript.
JavaScript 1.1 и более ранние.
Если Вы специфицируете единственный параметр в конструкторе Array, Вы специфицируете начальный размер массива. Следующий код создаёт массив из пяти элементов:
billingMethod = new Array(5)
JavaScript 1.0.
Вы обязаны индексировать массив порядковыми числительным; например, myArray[0].
Для массива, созданного из совпадения с регулярным выражением, индекс с базой 0 места совпадения в строке.
Для массива, созданного из совпадения с регулярным выражением, отражает оригинальную строку, относительно которой выполнялся поиск совпадений с регулярным выражением.
Количество элементов в массиве.
Позволяет добавлять свойства ко всем объектам.
Метод. Резюме.
Метод
Описание
Объединяет два массива и возвращает новый массив.
Объединяет все элементы массива в строку.
Удаляет последний элемент массива и возвращает этот элемент.
Добавляет один или более элементов в конец массива и возвращает новый размер массива.
Переворачивает элементы массива: первый элемент становится последним, а последний элемент - первым.
Удаляет первый элемент массива и возвращает этот элемент.
Извлекает раздел массива и возвращает новый массив.
Добавляет и/или удаляет элементы массива.
Сортирует элементы массива.
Возвращает литерал массива, представляющий специфицированный массив; Вы можете использовать это значение для создания нового массива. Переопределяет метод .
Возвращает строку, представляющую массив и его элементы. Переопределяет метод .
Добавляет один или более элементов впереди массива и возвращает новый размер массива.
Возвращает примитивное значение массива. Переопределяет метод .
Кроме того, этот объект наследует методы и из .
Примеры
Пример 1.
Создаётся массив msgArray
размером 0, затем присваивается значение элементам msgArray[0] и msgArray[99], а размер массива становится 100.
msgArray = new Array()
msgArray[0] = "Hello"
msgArray[99] = "world"
// Следующий оператор - true,
// поскольку определён элемент msgArray[99].
if (msgArray.length == 100)
myVar="Массив имеет размер 100."
Пример 2.
Двухмерный массив. Создаётся двухмерный массив и результат присваивается переменной myVar.
myVar="Тест многомерного массива; "
a = new Array(4)
for (i=0; i < 4; i++) {
a[i] = new Array(4)
for (j=0; j < 4; j++) {
a[i][j] = "["+i+","+j+"]"
}
}
for (i=0; i < 4; i++) {
str = "Ряд "+i+":"
for (j=0; j < 4; j++) {
str += a[i][j]
}
myVar += str +"; "
}
В этом примере выполняется присвоение следующей строки переменной myVar (разрывы строк даны для удобства чтения):
Тест многомерного массива;
Ряд 0:[0,0][0,1][0,2][0,3];
Ряд 1:[1,0][1,1][1,2][1,3];
Ряд 2:[2,0][2,1][2,2][2,3];
Ряд 3:[3,0][3,1][3,2][3,3];
Asin
Возвращает арксинус числа (в радианах).
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
asin(x)
Параметр
x
Число.
Описание
Метод asin возвращает числовое значение в диапазоне от -pi/2 до pi/2 радиан. Если значение number вне этого диапазона, возвращается NaN.
Поскольку asin это static-метод из Math, Вы всегда используете его так: Math.asin(), а не как метод Math-объекта, созданного Вами.
Примеры
Эта функция возвращает арксинус переменной x:
function getAsin(x) {
return Math.asin(x) }
Если Вы передаёте в getAsin значение 1, он возвращает 1.570796326794897 (pi/2); если Вы передаёте 2, он возвращает NaN, поскольку 2 находится вне диапазона.
См. также
, , , , , .
Atan
Возвращает арктангенс числа (в радианах).
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
atan(x)
Параметр
x
Число.
Описание
Метод atan возвращает числовое значение от -pi/2 до pi/2 в радианах.
Поскольку atan это static-метод из Math, Вы всегда используете его так: Math.atan(), а не как метод Math-объекта, созданного Вами.
Пример
Возвращает арктангенс переменной x:
function getAtan(x) { return Math.atan(x) }
Если Вы передаёте в getAtan значение 1, он возвращает 0.7853981633974483; если передаёте .5, оно возвратит 0.4636476090008061.
См. также
, , , , , .
Возвращает арктангенс частного своих аргументов.
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
atan2(y, x)
Параметр
y, x
Число.
Описание
Метод atan2 возвращает числовое значение в диапазоне от -pi до pi, представляющее угол тета точки (x,y). Это угол в направлении по часовой стрелке, измеренный в радианах, между положительной осью X и точкой (x,y). Обратите внимание, что аргументы этой функции передают сначала y-координату, а затем x-координату.
atan2 предаёт раздельно аргументы x и y, а atan передаёт частное этих двух аргументов.
Поскольку atan2 это static-метод из Math, Вы всегда используете его так: Math.atan2(), а не как метод Math-объекта, созданного Вами.
Пример
Следующая функция возвращает угол полярной координаты:
function getAtan2(x,y) { return Math.atan2(x,y) }
Если Вы передаёте в getAtan2 значения (90,15), он возвратит 1.4056476493802699; если передаёте (15,90), он возвращает 0.16514867741462683.
См. также
, , , , , .
Big
Выводит строку шрифтом большего размера, как при использовании тэга BIG.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Синтаксис
big()
Параметры
Отсутствуют.
Описание
Используйте метод big с методами write или writeln для форматирования и отображения строки документа. В серверном JavaScript используйте функцию write для отображения строки.
Примеры
В этом примере используются методы для изменения размера строки:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
Этот пример даёт такой же вывод, как и нижеследующий HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
См. также
, .
Blink
Создаёт мигающую строку, как при использовании тэга BLINK.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Синтаксис
blink()
Параметры
Отсутствуют.
Описание
Используйте метод blink с методами write или writeln для форматирования и отображения строки документа. В серверном JavaScript используйте функцию write
для отображения строки.
Примеры
В этом примере используются методы для изменения форматирования строки:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
Этот пример даёт такой же вывод, как и нижеследующий HTML:
<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>
См. также
, , .
Bold
Отображает строку жирным шрифтом, как при использовании тэга B.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Синтаксис
bold()
Параметры
Отсутствуют.
Описание
Используйте bold с методами write или writeln для форматирования и отображения строки документа. В серверном JavaScript используйте функцию write для отображения строки.
Примеры
В этом примере используются методы для изменения форматирования строки:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
Этот пример даёт такой же вывод, как и нижеследующий HTML:
<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>
См. также
, , .
Boolean
Объект Boolean это оболочка объекта для булева значения.
Объект ядра
Реализован в
JavaScript 1.1, NES 2.0
JavaScript 1.3: добавлен метод .
Версия ECMA
ECMA-262
Создание
Конструктор Boolean
new Boolean(value)
Параметры
value
Начальное значение объекта Boolean. Значение конвертируется к boolean, если необходимо. Если значение опущено или равно 0, -0, null, false, NaN, undefined или пустой строке (""), объект имеет начальное значение false. Все другие значения, включая любой объект или строку "false", создают объект с начальным значением true.
Описание
Не путайте примитивные Boolean-значения true и false со значениями true и false объекта Boolean.
Любой объект со значением не undefined или не null, включая объект Boolean со значением false, вычисляется до true, когда передаётся условному оператору. Например, условие этого оператора if вычисляется в true:
x = new Boolean(false);
if(x) //условие - true
Это поведение не применяется для Boolean-примитивов. Например, условие следующего оператора if вычисляется в false:
x = false;
if(x) //условие - false
Не используйте объект Boolean для конвертации не-булева значения в булево. Вместо этого используйте Boolean как функцию для выполнения этой задачи:
x = Boolean(expression) //предпочтительнее
x = new Boolean(expression) //не используйте
Если Вы специфицируете любой объект, включая Boolean-объект, значение которого - false, как начальное значение Boolean-объекта, новый Boolean-объект имеет значение true.
myFalse=new Boolean(false) //
начальное значение - false
g=new Boolean(myFalse) //начальное значение - true
myString=new String("Hello") // строковой объект
s=new Boolean(myString) //начальное значение - true
Не используйте Boolean-объект вместо Boolean-примитива.
Обратная Совместимость
JavaScript 1.2 и более ранние версии.
Объект Boolean ведёт себя так:
Если объект Boolean используется как условие проверки, JavaScript возвращает значение Boolean-объекта. Например, Boolean-объект со значением false рассматривается как примитивное значение false, а Boolean-объект со значением true рассматривается как примитивное значение true в проверке условия. Если объект Boolean - false, условный оператор вычисляется до false.
Вы можете использовать Boolean-объект вместо Boolean-примитива.
Свойства. Резюме.
Свойство
Описание
Специфицирует функцию, которая создаёт прототип объекта.
Определяет свойство, которое совместно используется объектами Boolean.
Методы. Резюме.
Метод
Описание
Возвращает литерал объекта, представляющий специфицированный Boolean-объект; Вы можете использовать это значение для создания нового объекта. Переопределяет метод .
Следующий пример создаёт объекты Boolean с начальными значениями false:
bNoParam = new Boolean()
bZero = new Boolean(0)
bNull = new Boolean(null)
bEmptyString = new Boolean("")
bfalse = new Boolean(false)
Следующий пример создаёт объекты Boolean с начальными значениями true:
btrue = new Boolean(true)
btrueString = new Boolean("true")
bfalseString = new Boolean("false")
bSuLin = new Boolean("Su Lin")
Break
Оператор break используется для прерывания выполнения операторов цикла, switch или label.
Прерывает выполнение операторов цикла, switch
или label и передаёт управление оператору, следующему после прерванного цикла.
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262 (для непомеченной/unlabeled версии) ECMA-262, Edition 3 (для помеченной/labeled версии)
Синтаксис
break [label]
Параметр
label
Идентификатор, ассоциированный с меткой оператора.
Описание
Оператор break содержит необязательный лэйбл/label, который позволяет программе прерывать помеченный оператор. Операторы в помеченном операторе могут быть любого типа.
Примеры
В этой функции имеется оператор break, прерывающий выполнение цикла , если e равно 3, и возвращающий затем значение 3 * x.
function testBreak(x) {
var i = 0;
while (i < 6) {
if (i == 3)
break;
i++;
}
return i*x;
}
См. также
, , .
Call
Этой возможности нет в спецификации ECMA, соответствующей JavaScript 1.3, но ожидается её появление в следующей версии.
Позволяет вызывать (выполнять) метод одного объекта в контексте другого объекта (вызывающего объекта).
Метод из
Реализован в
JavaScript 1.3
Синтаксис
call(thisArg[, arg1[, arg2[, ...]]])
Параметры
thisArg
Параметр вызывающего объекта.
arg1, arg2, ...
Параметр объекта.
Описание
Вы можете назначить другой объект this при вызове существующей функции. this ссылается на текущий объект, вызывающий объект.
С помощью call Вы можете написать метод один раз и наследовать его в другом объекте без необходимости переписывать метод для нового объекта.
Примеры
Можно использовать call для построения цепочки конструкторов объекта, аналогично Java. В следующем примере конструктор объекта product определён с двумя параметрами, name
и value. Другой объект, prod_dept, инициализирует свою уникальную переменную (dept) и вызывает конструктор для product в своём конструкторе для инициализации других переменных.
Function product(name, value){
this.name = name;
if(value > 1000)
this.value = 999;
else
this.value = value;
}
Function prod_dept(name, value, dept){
this.dept = dept;
product.call(this, name, value);
}
prod_dept.prototype = new product();
// поскольку 5 меньше 100, значение устанавливается
cheese = new prod_dept("feta", 5, "food");
// поскольку 5000 больше 1000, значение будет 999
car = new prod_dept("honda", 5000, "auto");
См. также
.
Метод. Вызывает метод из JavaScript. Эквивалентен "this.methodName(args[0], args[1], ...)" в JavaScript.
Объявление
public Object call(String methodName, Object args[])
Ceil
Возвращает наименьшее целое, больше или равное данному числу.
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
ceil(x)
Параметр
x
Число.
Описание
Поскольку ceil это static-метод из Math, Вы всегда используете его так: Math.ceil(), а не как метод Math-объекта, созданного Вами.
Примеры
Эта функция возвращает наименьшее целое, больше или равное переменной x:
function getCeil(x) {
return Math.ceil(x) }
Если Вы передадите 45.95 в getCeil, он возвратит 46; если -45.95, он возвратит -45.
См. также
.
CharAt
Возвращает специфицированные символы из строки.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
charAt(index)
Параметры
index
Целое, начиная от 0, и меньше размера строки на 1.
Описание
Символы строки индексируются слева направо. Индекс первого символа равен 0, индекс последнего символа строки с названием StringName равен StringName.length - 1. если предоставляемый Вами индекс выходит за рамки этого диапазона, JavaScript возвращает пустую строку.
Примеры
Следующий пример отображает символы из различных точек строки "Brave new world":
var anyString="Brave new world"
document.writeln("The character at index 0 is " + anyString.charAt(0))
document.writeln("The character at index 1 is " + anyString.charAt(1))
document.writeln("The character at index 2 is " + anyString.charAt(2))
document.writeln("The character at index 3 is " + anyString.charAt(3))
document.writeln("The character at index 4 is " + anyString.charAt(4))
Отображение будет таким:
The character at index 0 is B
The character at index 1 is r The character at index 2 is a The character at index 3 is v
The character at index 4 is e
См. также
, , .
CharCodeAt
Возвращает число, обозначающее Unicode-значение символа, находящегося в строке по данному индексу.
Метод из
Реализован в
JavaScript 1.2, NES 3.0
JavaScript 1.3: возвращает Unicode-значение вместо значения ISO-Latin-1.
Версия ECMA
ECMA-262
Синтаксис
charCodeAt([index])
Параметры
index
Целое, начиная от 0, и меньше размера строки на 1. Значение по умолчанию 0.
Описание
Значения Unicode находятся в диапазоне от 0 до 65,535. Первые 128 значений Unicode напрямую совпадают с набором ASCII-символов. Информацию о Unicode см. в книге
.
Обратная Совместимость
JavaScript 1.2.
Метод charCodeAt возвращает число, обозначающее значение из кодового набора ISO-Latin-1 для символа, находящегося по данному индексу. Набор ISO-Latin-1 имеет диапазон от 0 to 255. Символы от 0 до 127 напрямую совпадают с набором ASCII-символов.
Пример
Этот пример возвращает 65, значение Unicode для A.
"ABC".charCodeAt(0) // возвращает 65
Что Вы Уже Должны Знать
Предполагается, что Вы уже имеете:
Общее понятие об Internet и World Wide Web (WWW).
Хорошие навыки работы в HyperText Markup Language (HTML).
Некоторый опыт программирования в таких языках, как C или Visual Basic (желателен, но не обязателен).
ClassName
Полное квалифицированное имя Java-класса в пакетах, кроме пакетов netscape, java или sun, доступного (класса) в JavaScript.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Синтаксис
Packages.className
где classname это полное квалифицированное имя Java-класса.
Описание
Вы обязаны использовать свойство className объекта Packages для доступа к классам вне пакетов netscape, sun и java.
Примеры
Следующий код получает в JavaScript доступ к конструктору класса CorbaObject в пакете myCompany:
var theObject = new Packages.myCompany.CorbaObject()
Здесь значением свойства className
является myCompany.CorbaObject, полное квалифицированное имя пути класса CorbaObject.
Comment
Авторское описание действий, выполняемых кодом. Комментарии игнорируются интерпретатором.
не изменяет оригиналы массивов, но возвращает копию "на один уровень глубже", которая содержит копии элементов, скомбинированных из массивов-оригиналов. Элементы оригинальных массивов копируются в новый массив так:
Ссылки на объекты (а не реальные объекты): concat
копирует ссылки на объекты в новый массив. И оригинальный, и новый массивы ссылаются на один объект. Если объект, на который ссылаются, изменяется, изменения видны и новом, и в оригинальном массивах.
Строки и числа (не объекты и ): 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]
Объединяет текст двух или более строк и возвращает новую строку.
Метод из
Реализован в
JavaScript 1.2, NES 3.0
Синтаксис
concat(String2, String3[, ..., StringN])
Параметры
String2...
StringN
Строки, объединяемые в данную строку.
Описание
concat объединяет текст двух или более строк и возвращает новую строку. Изменения в тексте одной строки не влияют на другие строки.
Пример
В этом примере две строки объединяются в новую строку.
s1="Oh "
s2="what a beautiful "
s3="mornin'."
s4=s1.concat(s2,s3) // возвращает "Oh what a beautiful mornin'."
Имя константы. Оно может быть любым разрешённым идентификатором.
value
Значение константы. Оно может быть любым разрешённым выражением.
Описание
Создаёт константу, которая может быть глобальной или локальной по отношению к функции, в которой объявляется. Константы следуют тем же правилам области видимости, что и переменные.
Значение константы не может быть изменено с помощью присвоения, и константа не может быть переобъявлена.
Константа не может иметь то же имя, что и функция или переменная в той же области видимости.
Примеры
Скрипт:
const a = 7;
document.writeln("a равно " + a + ".");
даёт на выходе:
a равно 7.
Constructor
Специфицирует функцию, которая создаёт прототип объекта. Заметьте, что значением этого свойства является ссылка на саму функцию, а не строка, содержащая имя функции.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Версия ECMA
ECMA-262
Описание
См. .
Специфицирует функцию, создающую прототип объекта. Заметьте, что значением этого свойства является ссылка на саму функцию, а не строка. содержащая имя функции.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Версия ECMA
ECMA-262
Описание
См. .
Специфицирует функцию, создающую прототип объекта. Заметьте, что значением этого свойства является ссылка на саму функцию, а не строка, содержащая имя функции.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Версия ECMA
ECMA-262
Описание
См. .
Специфицирует функцию, создающую прототип объекта. Заметьте, что значением этого свойства является ссылка на функцию, а не строка, содержащая имя функции.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Версия ECMA
ECMA-262
Описание
См. .
Специфицирует функцию, создающую прототип объекта. Заметьте, что значением этого свойства является ссылка на саму функцию, а не строка с именем функции.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Версия ECMA
ECMA-262
Описание
Все объекты наследуют свойство constructor из своих prototype:
o = new Object // или o = {} в JavaScript 1.2
o.constructor == Object
a = new Array // или a = [] в JavaScript 1.2
a.constructor == Array
n = new Number(3)
n.constructor == Number
Хотя Вы не можете конструировать большинство HTML-объектов, можно выполнять сравнение. Например,
document.constructor == Document
document.form3.constructor == Form
Примеры
Здесь создаётся прототип, Tree, и объект этого типа, theTree. Затем отображается свойство constructor объекта theTree.
theTree.constructor is function Tree(name) { this.name = name; }
Специфицирует функцию, которая создаёт прототип объекта. Обратите внимание, что значением этого свойств является ссылка на саму функцию, а не строка с именем функции.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Версия ECMA
ECMA-262
Описание
См. .
Специфицирует функция, которая создаёт прототип объекта. Заметьте, что значением этого свойства является ссылка на функцию, а не строка, содержащая имя функции.
Свойство из
Реализовано в
JavaScript 1.1, NES 2.0
Версия ECMA
ECMA-262
Описание
См. .
Continue
Рестарт оператора while, do-while, for, или label.
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262 (для непомеченной/unlabeled версии) ECMA-262, Edition 3 (для помеченной/labeled версии)
Синтаксис
continue [label]
Параметр
label
Идентификатор, ассоциированный с меткой оператора.
Описание
По контрасту с оператором , continue не прерывает полностью выполнение оператора. Вместо этого он:
в цикле перескакивает обратно на condition.
в цикле перескакивает на выражение update.
Оператор continue может теперь содержать необязательный лэйбл, который позволяет программе прерывать выполнение помеченного оператора и продолжить выполнение специфицированного помеченного оператора. Этот тип continue обязан находиться в операторе цикла, идентифицированном лэйблом, используемым оператором continue.
Примеры
Пример 1.
Это цикл while, с оператором , выполняемым, если i имеет значение 3. Таким образом, n принимает значения 1, 3, 7 и 12.
i = 0;
n = 0;
while (i < 5) {
i++;
if (i == 3)
continue;
n += i;
}
Пример 2.
С это примере оператор, помеченный checkiandj, содержит оператор, помеченный checkj. Если обнаружен continue, программа продолжает от верхней точки оператора checkj. Каждый раз при обнаружении continue, checkj повторяет итерацию, пока условие не вернёт false. Если false возвращено, выполняется оставшаяся часть оператора checkiandj. checkiandj повторяет итерацию, пока условие не вернёт false. Если false возвращено, программа продолжает выполняться с точки после оператора checkiandj.
Если continue имеет метку из checkiandj, программа будет продолжать выполняться от верхней точки оператора checkiandj.
checkiandj :
while (i<4) {
document.write(i + "<BR>");
i+=1;
checkj :
while (j>4) {
document.write(j + "<BR>");
j-=1;
if ((j%2)==0)
continue checkj;
document.write(j + " is odd.<BR>");
}
document.write("i = " + i + "<br>");
document.write("j = " + j + "<br>");
}
См. также
, .
Cos
Возвращает косинус числа.
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
cos(x)
Параметр
x
Число.
Описание
Метод cos возвращает числовое значение в диапазоне от -1 до 1, представляющее косинус угла.
Поскольку cos это static-метод из Math, Вы всегда используете его так: Math.cos(), а не как метод Math-объекта, созданного Вами.
Пример
Эта функция возвращает косинус переменной x:
function getCos(x) { return Math.cos(x) }
Если x равен 2*Math.PI, getCos возвращает 1; если x
равен Math.PI, метод getCos возвращает -1.
См. также
, , , , , .
Date
Позволяет работать с датой и временем.
Объект ядра
Реализован в
JavaScript 1.0, NES 2.0
JavaScript 1.1: добавлено свойство prototype.
JavaScript 1.3: убрана зависимость от платформы, чтобы дать универсальное поведение на всех платформах; добавлен параметр ms_num в конструктор Date; добавлены методы , , , , и UTC-методы (такие как и ).
Версия ECMA
ECMA-262
Создание
Конструктор Date:
new Date()
new Date(milliseconds)
new Date(dateString)
new Date(yr_num, mo_num, day_num
[, hr_num, min_num, sec_num, ms_num])
Версии до JavaScript 1.3:
new Date()
new Date(milliseconds)
new Date(dateString)
new Date(yr_num, mo_num, day_num[, hr_num, min_num, sec_num])
Параметры
milliseconds
Целочисленное значение - количество миллисекунд, прошедших после 1 января 1970 года, 00:00:00.
dateString
Строковое значение, представляющее дату. Строка должна иметь формат, распознаваемый методом .
yr_num, mo_num, day_num
Целые значения, представляющие часть даты. Как целочисленное значение, месяц представляется цифрами от 0 до 11, где 0=January и 11=December.
hr_num, min_num, sec_num, ms_num
Целые значения, представляющие часть даты.
Описание
Если Вы не задаёте никаких аргументов, конструктор создаёт объект Date для текущей даты и времени в соответствии с локальным/системным временем. Если Вы задаёте несколько аргументов, но не все, отсутствующие аргументы устанавливаются в 0. Если Вы задаёте несколько аргументов, Вы обязаны ввести как минимум year, month и day. Можно опустить hours, minutes, seconds и milliseconds.
Дата измеряется в миллисекундах, прошедших после полуночи 01 января 1970 года по Гринвичу/UTC. Один день состоит из 86,400,000 миллисекунд. Объект Date имеет диапазон от -100,000,000 до 100,000,000 дней относительно 01 января 1970 года по UTC.
Объект Date имеет универсальное поведение на всех платформах.
Объект Date поддерживает несколько UTC-методов (универсальных), а также методы работы с локальным временем. UTC, известное также как Greenwich Mean Time (GMT)/время по Гринвичу, ссылается на время, установленное стандартом World Time Standard. Локальное время это время, известное компьютеру, на котором выполняется JavaScript.
Для обеспечения перехода в новое тысячелетие (2000 год) Вы всегда должны специфицировать год полностью; например, использовать 1998, а не 98. Чтобы помочь Вам в установке полный год, JavaScript имеет методы getFullYear, setFullYear, getFullUTCYear
и setFullUTCYear.
Следующий пример возвращает время в миллисекундах, прошедшее в период от timeA до timeB:
timeA = new Date(); // Здесь операторы, выполняющие какие-либо действия.
timeB = new Date(); timeDifference = timeB - timeA;
Обратная Совместимость
JavaScript 1.2 и более ранние версии.
Объект Date работает так:
Даты до 1970 года недопустимы.
JavaScript зависит от специфики поведения даты на конкретной платформе; поведение объекта Date меняется, в зависимости от платформы.
Возвращает день месяца для специфицированной даты в соответствии с локальным временем.
Возвращает день недели для специфицированной даты в соответствии с локальным временем.
Возвращает year/год для специфицированной даты в соответствии с локальным временем.
Возвращает hour/час для специфицированной даты в соответствии с локальным временем.
Возвращает milliseconds/миллисекунды для специфицированной даты в соответствии с локальным временем.
Возвращает minutes/минуты для специфицированной даты в соответствии с локальным временем.
Возвращает month/месяц для специфицированной даты в соответствии с локальным временем.
Возвращает seconds/секунды для специфицированной даты в соответствии с локальным временем.
Возвращает числовое значение, соответствующе времени для специфицированной даты в соответствии с локальным временем.
Возвращает смещение часового пояса в минутах для данной местности.
Возвращает день (число) месяца в специфицированной дате в соответствии с универсальным временем.
Возвращает день недели в специфицированной дате в соответствии с универсальным временем.
Возвращает год в специфицированной дате в соответствии с универсальным временем.
Возвращает часы в специфицированной дате в соответствии с универсальным временем.
Возвращает миллисекунды в специфицированной дате в соответствии с универсальным временем.
Возвращает минуты в специфицированной дате в соответствии с универсальным временем.
Возвращает месяц в специфицированной дате в соответствии с универсальным временем.
Возвращает секунды в специфицированной дате в соответствии с универсальным временем.
Возвращает год в специфицированной дате в соответствии с местным временем.
Возвращает количество миллисекунд, прошедших до данной даты после 2 января 1970 года, 00:00:00 местного времени.
Устанавливает число/день месяца в специфицированной дате в соответствии с местным временем.
Устанавливает полный год в специфицированной дате в соответствии с местным временем.
Устанавливает часы в специфицированной дате в соответствии с местным временем.
Устанавливает миллисекунды в специфицированной дате в соответствии с местным временем.
Устанавливает минуты в специфицированной дате в соответствии с местным временем.
Устанавливает месяц в специфицированной дате в соответствии с местным временем.
Устанавливает секунды в специфицированной дате в соответствии с местным временем.
Устанавливает значение объекта Date в соответствии с местным временем.
Устанавливает число/день месяца в специфицированной дате в соответствии с универсальным временем.
Устанавливает полный год в специфицированной дате в соответствии с универсальным временем.
Устанавливает часы в специфицированной дате в соответствии с универсальным временем.
Устанавливает миллисекунды в специфицированной дате в соответствии с универсальным временем.
Устанавливает минуты в специфицированной дате в соответствии с универсальным временем.
Устанавливает месяц в специфицированной дате в соответствии с универсальным временем.
Устанавливает секунды в специфицированной дате в соответствии с универсальным временем.
Устанавливает год в специфицированной дате в соответствии с локальным временем.
Конвертирует дату в строку, используя соглашения Internet GMT.
Конвертирует дату в строку, используя соглашения по текущему времени.
Возвращает литерал объекта, представляющий специфицированный объект Date; Вы можете использовать это значение для создания нового объекта. Переопределяет метод .
Возвращает строку, представляющую специфицированный объект Date. Переопределяет метод .
Конвертирует дату в строку, используя соглашение по универсальному времени.
Возвращает количество миллисекунд в объекте Date, прошедших после 1 января 1970 года, 00:00:00 универсального времени.
Возвращает примитивное значение объекта Date. Переопределяет метод .
Кроме того, Этот объект наследует методы и из .
Примеры
Вот разные примеры назначения времени:
today = new Date()
birthday = new Date("December 17, 1995 03:24:00")
birthday = new Date(95,11,17)
birthday = new Date(95,11,17,3,24,0)
-- (Декремент/Уменьшение)
Операция декремента используется так:
var-- или --var
Выполняет декремент (вычитает единицу) своего операнда и возвращает значение. Если используется как постфикс
(например, x--), то возвращает значение, бывшее до выполнения декремента.
Если используется как префикс (например, --x), тогда возвращает, после выполнения декремента, новое значение.
Например, если x равен 3, то операция y = x-- устанавливает y в 3 и выполняет декремент x до 2. Если x равен 3, то операция y = --x выполняет декремент x до 2 и устанавливает y в 2.
Delete
Операция delete удаляет объект, свойство объекта или элемент массива по специфицированному индексу.
Реализована в
JavaScript 1.2, NES 3.0
Версия ECMA
ECMA-262
Синтаксис
delete objectName delete objectName.property
delete objectName[index]
delete property // верно только внутри оператора with
Параметры
objectName
Имя объекта.
property
Удаляемое свойство.
index
Целое число, представляющее индекс массива для удаления.
Описание
Четвёртая форма операции верна только внутри оператора with при удалении свойства объекта.
Вы можете использовать операцию delete
для удаления переменных, объявленных неявно, но не переменных, объявленных оператором var.
Если операция delete
выполнена успешно, она устанавливает свойство или элемент в undefined. Операция delete
возвращает true, если операция возможна; возвращает false, если операция невозможна.
x=42
var y= 43
myobj=new Number()
myobj.h=4 // создаёт свойство h
delete x // возвращает true (может удаляться, если объявлена неявно)
delete y //
возвращает false (не может удаляться, если объявлена с помощью var)
delete Math.PI //
возвращает false (предопределённые свойства не могут удаляться)
delete myobj.h //
code>возвращает true (свойства, определённые пользователем, могут удаляться)
delete myobj //
возвращает true (объекты могут удаляться)
Удаление массива элементов.
Если Вы удаляете элемент массива, размер массива не меняется. Например, если удалить a[3], то a[4] останется a[4], а a[3] - undefined.
Если операция delete удаляет элемент массива, этот элемент больше не присутствует в массиве. В следующем примере trees[3] удаляется с помощью delete.
Выполняет специфицированные операторы, пока при тестировании условия не будет возвращено false. Операторы выполняются как минимум однократно.
Реализован в
JavaScript 1.2, NES 3.0
Версия ECMA
ECMA 262, Edition 3
Синтаксис
do
statements
while (condition);
Параметры
statements
Блок операторов который выполняется минимум один раз и выполняется повторно до тех пор, пока проверка условия возвращает true.
condition
Вычисляется после каждого прохождения цикла. Если условие вычисляется в true, операторы предыдущего блока выполняются повторно. Если проверка условия возвращает false, управление передаётся оператору, следующему после do while.
Примеры
Цикл do loop итерирует минимум один раз и повторяет итерации, пока i не меньше 5.
do {
i+=1;
document.write(i);
while (i<5);
E
Константа Эйлера и база натуральных логарифмов, приблизительно 2.718.
Свойство из
Static, Read-only\Только-для-Чтения
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Описание
Поскольку E это static-свойство из Math, Вы всегда используете его так:Math.E, а не как свойство Math-объекта, созданного Вами.
Пример
Эта функция возвращает константу Эйлера:
function getEuler() { return Math.E }
Equals
Метод. Определяет, ссылаются ли два объекта JSObject на один и тот же экземпляр.
Переопределяет: equals в классе java.lang.Object.
Объявление
public boolean equals(Object obj)
Обратная Совместимость
JavaScript 1.3. В JavaScript 1.3 и более ранних версиях Вы можете использовать метод equals
из java.lang.Object или оператор == для вычисления двух объектов JSObject.
В более ранних версиях одинаковые объекты JSObject
могут появляться как разные Java-объекты. Вы можете использовать метод equals для определения, ссылаются ли два объекта JSObject на один и тот же экземпляр.
Eval
Метод. Вычисляет выражение JavaScript. Выражение это строка исходного кода JavaScript, который будет вычисляться в контексте, заданном "this".
Объявление
public Object eval(String s)
Не рекомендуется. Вычисляет строку JavaScript-кода в контексте объекта.
Метод из
Реализован в
JavaScript 1.1, NES 2.0
JavaScript 1.2, NES 3.0: не рекомендуется как метод объектов; остаётся как функция верхнего уровня.
JavaScript 1.4: удалён как метод объектов.
Синтаксис
eval(string)
Параметр
string
Любая строка, представляющая выражение JavaScript, оператор или последовательность операторов. Это выражение может содержать переменные и свойства существующих объектов.
Описание
Метод eval больше не доступен как метод из Object. Используется функция верхнего уровня .
Обратная Совместимость
JavaScript 1.2 и 1.3.
eval как метод из Object и каждого объекта, полученного из Object, не рекомендуется к использованию (но имеется).
JavaScript 1.1.
eval является методом из Object и каждого объекта, полученного из Object.
См. также
.
Exec
Выполняет поиск совпадений в специфицированной строке. Возвращает результирующий массив.
Метод из
Реализован в
JavaScript 1.2, NES 3.0
Версия ECMA
ECMA 262, Edition 3 (только первый синтаксис)
Синтаксис
regexp.exec([str])
regexp([str])
Параметры
regexp
Имя регулярного выражения. Может быть именем переменной или литералом.
str
Строка, которая проверяется на совпадение с регулярным выражением.
Описание
Как видно из описания синтаксиса, метод exec
регулярного выражения может вызываться явно (regexp.exec(str)), или неявно (regexp(str)).
Если поиск выполняется, чтобы просто найти true или false, используйте метод или метод String .
Если совпадение найдено, метод exec возвращает массив и обновляет свойства объекта регулярного выражения.
Если совпадение не найдено, метод exec возвращает null.
Рассмотри пример:
<SCRIPT LANGUAGE="JavaScript1.2">
//Совпадение с d с последующими одним или более b, с последующим d
//Запомнить совпавшие b с последующим d
//Игнорировать регистр
myRe=/d(b+)(d)/ig;
myArray = myRe.exec("cdbBdbsbz");
</SCRIPT>
В таблице показаны результаты работы этого скрипта:
Объект
Свойство/Индекс
Описание
Пример
myArray
Контекст myArray.
["dbBd", "bB", "d"]
index
Индекс совпадений в строке с базой 0.
1
input
Строка-оригинал.
cdbBdbsbz
[0]
Последние совпавшие символы.
dbBd
[1], ...[n]
Совпавшие подстроки в кавычках, если имеются (подстроки). Количество подстрок в кавычках не ограничено.
[1] = bB [2] = d
myRe
lastIndex
Индекс, с которого начать следующий поиск.
5
ignoreCase
Указывает, использовался ли флаг "i" для игнорирования регистра.
true
global
Указывает, использовался ли флаг "g" для глобального поиска совпадений.
true
multiline
Указывает, использовался ли флаг "m" для глобального поиска совпадений.
false
source
Текст патэрна.
d(b+)(d)
Если Ваше регулярное выражение использует флаг "g", Вы можете использовать метод exec
несколько раз для поиска успешных совпадений в той же строке. Если Вы это сделаете, поиск начинается с подстроки в str, специфицированной свойством lastIndex
в регулярном выражении. Например, расмотрим этот скрипт:
<SCRIPT LANGUAGE="JavaScript1.2">
myRe=/ab*/g;
str = "abbcdefabh";
myArray = myRe.exec(str);
document.writeln("Found " + myArray[0] +
". Next match starts at " + myRe.lastIndex)
mySecondArray = myRe.exec(str);
document.writeln("Found " + mySecondArray[0] +
". Next match starts at " + myRe.lastIndex)
</SCRIPT>
Будет выведен следующий текст:
Found abb. Next match starts at 3 Found ab. Next match starts at 9
Примеры
Здесь пользователь вводит имя, и скрипт выполняет поиск совпадений относительно этого ввода. Затем он прогоняет массив по циклу для поиска других имён, совпадающих с пользовательским именем.
Этот скрипт предполагает, что первые имена зарегистрированных участников вечеринки предварительно загружены в массив A, возможно, чрез получение их из базы данных.
<HTML>
<SCRIPT LANGUAGE="JavaScript1.2">
A = ["Frank", "Emily", "Jane", "Harry", "Nick", "Beth", "Rick",
Возвращает Ex, где x это аргумент, а E это константа Эйлера, база натуральных логарифмов.
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
exp(x)
Параметр
x
Число.
Описание
Поскольку exp это static-метод из Math, Вы всегда используете его так: Math.exp(), а не как метод Math-объекта, созданного Вами.
Пример
Эта функция возвращает экспоненциальное значение переменной x:
function getExp(x) {
return Math.exp(x) }
Если Вы передаёте в getExp значение 1, он возвращает 2.718281828459045.
См. также
, , .
Export
Позволяет обозначенному/signed скрипту предоставлять свойства, функции и объекты другим обозначенным или необозначенным/unsigned скриптам.
Эта возможность отсутствует в ECMA 262, Edition 3.
Реализован в
JavaScript 1.2, NES 3.0
Синтаксис
export name1, name2, ..., nameN
export *
Параметры
nameN
Список экспортируемых свойств, функций и объектов.
*
Экспортируются все свойства, функции и объекты этого скрипта.
Описание
Обычно информация в обозначенном/signed скрипте доступна только скриптам, обозначенным теми же принципалами/principals (найду перевод поточнее - заменю прим перев.). Экспортируя свойства, функции или объекты, обозначенный скрипт делает эту информацию доступной любому скрипту (signed или unsigned). Получающий скрипт использует оператор import для доступа к информации.
См. также
.
Fixed
Строка выводится моноширинным шрифтом, как при использовании тэга TT.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Синтаксис
fixed()
Параметры
Отсутствуют.
Описание
Используйте метод fixed с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Примеры
В этом примере используется метод fixed для изменения форматирования строки:
var worldString="Hello, world"
document.write(worldString.fixed())
Вывод будет таким же, как и в нижеследующем HTML:
<TT>Hello, world</TT>
Floor
Возвращает наибольшее целое, меньше или равное данному числу.
Метод из
Static
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
floor(x)
Параметр
x
Число.
Описание
Поскольку floor это static-метод из Math, Вы всегда используете его так: Math.floor(), а не как метод Math-объекта, созданного Вами.
Пример
Эта функция возвращает floor-значение переменной x:
function getFloor(x) {
return Math.floor(x)
}
Если Вы передаёте 45.95 в getFloor, он возвращает 45; если передаёте -45.95, он возвращает -46.
См. также
.
Fontcolor
Строка выводится специфицированным цветом, как при использовании тэга <FONT COLOR=color>.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Синтаксис
fontcolor(color)
Параметры
color
Строка содержит цвет в виде 16-ричного RGB-триплета или в виде строкового литерала. Названия цветов - строковых литералов - даны в книге .
Описание
Используйте метод fontcolor с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Если Вы вводите цвет как 16-ричный RGB-триплет, Вы обязаны использовать формат rrggbb. Например, 16-ричные RGB-значения для цвета salmon: red=FA, green=80, blue=72, соответственно, RGB-триплет цвета salmon будет "FA8072".
Метод fontcolor переопределяет значение, установленное свойством fgColor.
Примеры
В этом примере метод fontcolor используется для изменения цвета строки:
<FONT COLOR="maroon">Hello, world</FONT> is maroon in this line
<P><FONT COLOR="salmon">Hello, world</FONT> is salmon in this line
<P><FONT COLOR="red">Hello, world</FONT> is red in this line
<FONT COLOR="8000">Hello, world</FONT>
is maroon in hexadecimal in this line
<P><FONT COLOR="FA8072">Hello, world</FONT>
is salmon in hexadecimal in this line
<P><FONT COLOR="FF00">Hello, world</FONT>
is red in hexadecimal in this line
Fontsize
Строка выводится шрифтом специфицированного размера, как при использовании тэга <FONT SIZE=size>.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Синтаксис
fontsize(size)
Параметры
size
Целое число от 1 до 7; строка, представляющая целое число в диапазоне от 1 до 7.
Описание
Используйте метод fontsize с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Если Вы специфицируете размер как целое число, Вы устанавливаете размер строки StringName в один из семи предопределённых размеров. Если Вы специфицируете размер как строку, например, "-2", Вы уточняете размер строки StringName относительно размера, установленного в тэге BASEFONT.
Примеры
В этом примере методы работы со строками используются для изменения размера строки:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
Вывод будет таким же, как и в нижеследующем HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
См. также
,
.
For
Создаёт цикл из трёх необязательных выражений, заключённых в скобки и разделённых точкой с запятой, и блока операторов , выполняемых в цикле.
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
for ([initial-expression]; [condition]; [increment-expression]) {
statements
}
Параметры
initial-expression
Оператор или объявление переменной. Обычно используется для инициализации переменной счётчика цикла. Это выражение может объявлять новую переменную с помощью ключевого слова var. Эти переменные являются локальными относительно функции, а не цикла.
condition
Условие, вычисляемое при каждой итерации цикла. Если вычисляется в true, выполняются операторы statements. Эта проверка условия не является обязательной. При её отсутствии, условие всегда вычисляется в true.
increment-expression
Это выражение обычно используется для инкремента или обновления переменной счётчика цикла.
statements
Блок операторов, которые выполняются, пока условие true. Это может быть один или несколько операторов. Хотя это и не требуется, хорошим стилем будет выделить эти операторы отступом относительно начала оператора for.
Примеры
Здесь оператор for начинается с объявления переменной i и её инициализации в 0. Он проверяет, что i меньше 9, выполняет два последующих оператора и увеличивает i на 1 после каждого прохода по циклу.
for (var i = 0; i < 9; i++) {
n += i;
myfunc(n);
}
For...in
Итерирует специфицированную переменную по всем свойствам объекта. Для каждого выделенного свойства JavaScript выполняет специфицированные операторы.
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
for (variable in object) {
statements
}
Параметры
variable
Переменная для итерации по каждому свойству, может быть объявлена ключевым словом var. Эта переменная локальна относительно функции, а не цикла.
object
Объект, по свойствам которого происходит итерация.
statements
Специфицирует операторы, выполняемые для каждого свойства.
Примеры
Здесь функция принимает в качестве аргументов объект и имя объекта . Затем выполняется итерация по всем свойствам объекта и возвращает строку со списком имён свойств и их значений.
function show_props(obj, objName) {
var result = "";
for (var i in obj) {
result += objName + "." + i + " = " + obj[i] + "\n";
}
return result;
}
FromCharCode
Возвращает строку, созданную путём использования специфицированной последовательности из значений Unicode.
Метод из
Static
Реализован в
JavaScript 1.2, NES 3.0
JavaScript 1.3: используется значение Unicode, а не значение ISO-Latin-1.
Версия ECMA
ECMA-262
Синтаксис
fromCharCode(num1, ..., numN)
Параметры
num1, ..., numN
Последовательность чисел - значений Unicode.
Описание
Этот метод возвращает строку, а не String-объект.
Поскольку fromCharCode это static-метод объекта String, Вы всегда используете его как String.fromCharCode(), а не как метод String-объекта, созданного Вами.
Обратная Совместимость
JavaScript 1.2.
Метод fromCharCode возвращает строку, созданную путем использования специфицированной последовательности значений из набора кодов ISO-Latin-1.
Примеры
Этот пример возвращает строку "ABC".
String.fromCharCode(65,66,67)
Function
xxx Надеюсь, что я удалил все примеры с клиентской спецификой из этого файла.
Специфицирует строку кода JavaScript, компилируемого как функция.
Объект ядра
Реализован в
JavaScript 1.1, NES 2.0
JavaScript 1.2: добавлены свойства , ; добавлена возможность вложения функций.
JavaScript 1.3: добавлены методы ,
и ; не рекомендуется использовать свойство .
JavaScript 1.4: не рекомендуются свойства , ,
и (arguments
остаётся локальной переменной функции, а не свойством в Function).
Версия ECMA
ECMA-262
Создание
Конструктор Function:
new Function ([arg1[, arg2[, ... argN]],] FunctionBody)
Оператор Function (см. ):
Function name([param[, param[, ... param]]]) { операторы
}
Параметры
arg1, arg2, ... argN
Имена, используемые функцией в качестве имён формальных аргументов. Каждый обязан быть строкой - правильным идентификатором JavaScript; например "x" или "theValue".
FunctionBody
Строка операторов JavaScript, образующих определение функции.
name
Имя функции.
param
Имя аргумента, передаваемого функции. Функция может иметь до 255 аргументов.
statements
Операторы, образующие тело функции.
Описание
Function-объекты, созданные конструктором Function, вычисляются каждый раз, когда используются. Это менее эффективно, чем объявление функции и вызов её в Вашем коде, поскольку объявленные функции компилируются.
Чтобы возвратить значение, функция обязана содержать оператор , специфицирующий возвращаемое значение.
Все параметры передаются функции по значению; значение передаётся функции, но, если функция изменяет значение параметра, это изменение не отражается глобально или в вызывающей функции. Однако, если Вы передаёте функции объект в качестве параметра и функция изменяет свойства объекта, это изменение видно вне функции, как показано в следующем примере:
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. См. .
Специфицирование аргументов в конструкторе 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.
Следующий код присваивает функцию обработчику события для window (весь обработчик события обязан вводиться в нижнем регистре):
window.onFocus = new Function("document.bgColor='antiquewhite'")
Если функция назначается переменной, Вы можете назначить переменную обработчику событий. Следующий код назначает функцию переменной setBGColor:
var setBGColor = new Function("document.bgColor='antiquewhite'")
Вы можете использовать эту переменную для назначения функции обработчику события одним из следующих способов:
document.form1.colorButton.onclick=setBGColor
<INPUT NAME="colorButton" TYPE="button"
VALUE="Change background color"
onClick="setBGColor()">
После того как Вы получили ссылку на объект Function, Вы можете использовать её как функцию, и она будет конвертировать объект в функцию:
window.onFocus()
Обработчики событий не принимают аргументов, поэтому Вы не можете объявлять аргументы для обработчика события в конструкторе Function. Например, Вы не можете вызвать функцию multiply путём установки свойства onclick
кнопки таким образом:
document.form1.button1.onclick=multFun(5,10)
Обратная Совместимость
JavaScript 1.1 и более ранние версии.
Вы не можете вкладывать оператор функции в другой оператор или в себя самого.
Свойства. Резюме.
Свойство
Описание
Массив аргументов, передаваемых функции.
Специфицирует тело выполняемой в данный момент функции.
Специфицирует имя функции, которая вызвала выполняемую в данный момент функцию.
Специфицирует количество аргументов, передаваемых функции.
Специфицирует количество аргументов, ожидаемых функцией.
Специфицирует функцию, которая создаёт прототип объекта.
Специфицирует количество аргументов, ожидаемых функцией.
Позволяет добавлять свойства объекту Function.
Метод. Резюме.
Метод
Описание
Позволяет применять метод одного объекта в контексте другого объекта (вызывающего объекта).
Позволяет вызывать (выполнять) метод другого объекта в контексте другого объекта (вызывающего объекта).
Возвращает строку исходного кода функции. Переопределяет метод .
Возвращает строку исходного кода функции. Переопределяет метод .
Возвращает строку исходного кода функции. Переопределяет метод .
Примеры
Пример 1.
Эта функция возвращает строку, содержащую форматированное представление чисел с заполнением ведущими нулями.
// Эта функция возвращает строку, с заполнением ведущими нулями
Function padZeros(num, totalLen) {
var numStr = num.toString() // Инициализируется return-значение
// как string
var numZeros = totalLen - numStr.length // Подсчитывается количество нулей
if (numZeros > 0) {
for (var i = 1; i <= numZeros; i++) {
numStr = "0" + numStr
}
}
return numStr
}
Следующие операторы вызывают функцию padZeros:
result=padZeros(42,4) // возвращает "0042"
result=padZeros(42,2) //
возвращает "42"
result=padZeros(5,4) //
возвращает "0005"
Пример 2.
Вы можете определить, существует ли функция, сравнивая имя функции с null. В этом примере func1
вызывается, если функция noFunc не существует; иначе вызывается func2. Заметьте, что необходимо window-имя при ссылке на функцию с именем noFunc.
if (window.noFunc == null)
func1()
else func2()
Пример 3.
Здесь создаются обработчики событий и для фрэйма. Этот код находится в том же файле, в котором содержится тэг FRAMESET. Обратите внимание, что это единственный способ создания обработчиков событий и для фрэйма, поскольку Вы не можете специфицировать обработчики событий в тэге FRAME.
frames[0].onFocus = new Function("document.bgColor='antiquewhite'")
frames[0].onBlur = new Function("document.bgColor='lightgrey'")
apply">
Операция function определяет анонимную функцию внутри выражения.
Следующие примеры показывают использование операции function.
Этот пример объявляет безымянную функцию внутри выражения. В переменную x устанавливается функция, возвращающая квадрат аргумента:
var x = function(y) {return y*y};
Этот пример объявляет массив a как массив из трёх функций:
var a = [function(y) {return y}, function y {return y*y}, function (y) [return y*y*y}];
Для этого массива, a[0](5) возвращает 5, a[1](5) возвращает 25, a[2](5) возвращает 125.
Объявляет функцию со специфицированными параметрами. В качестве параметров принимаются строки, числа и объекты.
Реализован в
JavaScript 1.0, NES 2.0
JavaScript 1.5, NES 6.0: добавлено объявление условной функции (расширение Netscape).
Версия ECMA
ECMA-262
Синтаксис
function name([param] [, param] [..., param]) {
statements
}
Вы можете также определять функции с помощью конструктора и оператора ; см. и .
Параметры
name
Имя функции.
param
Имя аргумента, передаваемого функции. Функция может иметь не более 255 аргументов.
statements
Операторы, образующие тело функции.
Описание
Чтобы возвращать значение, функция обязана иметь оператор , который специфицирует возвращаемое значение.
Функция, созданная с помощью оператора function, является объектом Function и содержит все свойства, методы и поведение объектов Function. См. в детальную информацию о функциях.
Netscape поддерживает условное объявление функций, когда функция может быть объявлена на базе вычисления некоторого условия. Если условие true, функция объявляется. Иначе - не объявляется.
Функция может быть также объявлена внутри выражения. В этом случае функция обычно анонимна.
Примеры
Этот код объявляет функцию, которая возвращает общую сумму от продаж в долларах, если задано количество проданных единиц продуктов a, b и c.
function calc_sales(units_a, units_b, units_c) {
return units_a*79 + units_b*129 + units_c*699
}
В следующем скрипте функция one всегда объявляется. Функция zero объявляется, поскольку 'if(1)' вычисляется в true:
<SCRIPT language="JavaScript1.5">
<!--
function one()
document.writeln("This is one.");
if (1)
function zero()
{
document.writeln("This is zero.");
}
}
</SCRIPT>
Однако, если скрипт изменяется таким образом, что условие становится 'if (0)', функция zero не объявляется и не может быть вызвана.
См. также
, .
Где Найти Информацию о JavaScript
Документация о ядре JavaScript состоит из следующих книг:
содержит информацию о ядре языка JavaScript и его объектах.
(данная книга) содержит справочный материал о ядре языка JavaScript.
Если Вы новичок в JavaScript, начните с книги
После освоения фундаментальных положений Вы можете пользоваться книгой для получения более детальной информации о конкретных объектах и операторах.
DevEdge, онлайновый ресурс Netscape для разработчиков, содержит информацию, которая может быть использована Вами при работе в JavaScript. Следующие URL представляют определённый интерес:
Страница JavaScript в библиотеке DevEdge содержит документы о JavaScript. Эта страница часто изменяется. Необходимо периодически посещать её для получения свежей информации.
Библиотека DevEdge содержит документацию о многих продуктах и технологиях Netscape.
Домашняя страница DevEdge даёт доступ ко всем ресурсам DevEdge.
Mozilla.org координирует разработку Mozilla, свободно распространяемого браузера, на котором основан Netscape 6. Вы можете найти информацию о JavaScript на странице JavaScript-проекта Mozilla'ы, а также дискуссию по вопросам JavaScript в группе новостей netscape.public.mozilla.jseng.
Ядро JavaScript 1.5. Справочник
Возвращает день/число месяца в специфицированной дате в соответствии с локальным временем.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
getDate()
Параметры
Отсутствуют.
Описание
Значением, возвращаемым методом getDate, является целое число в диапазоне от 1 до 31.
Примеры
Второй оператор присваивает значение 25 переменной day, базируясь на значении Date-объекта Xmas95.
Xmas95 = new Date("December 25, 1995 23:15:00")
day = Xmas95.getDate()
См. также
, ,
Ядро JavaScript 1.5. Справочник
Возвращает день недели в специфицированной дате в соответствии с локальным временем.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
getDay()
Параметры
Отсутствуют.
Описание
Значение, возвращённое методом getDay, это целое число, соответствующее дню недели: 0 -воскресенье, 1 - понедельник, 2 - вторник и т.д.
Примеры
Второй оператор присваивает weekday значение 1 на базе значения Date-объекта Xmas95.
25 декабря 1995, понедельник.
Xmas95 = new Date("December 25, 1995 23:15:00")
weekday = Xmas95.getDay()
См. также
, .
Ядро JavaScript 1.5. Справочник
Возвращает год в специфицированной дате в соответствии с локальным временем.
Метод из
Реализован в
JavaScript 1.3
Версия ECMA
ECMA-262
Синтаксис
getFullYear()
Параметры
Отсутствуют.
Описание
Значение, возвращаемое методом getFullYear, это абсолютное число. Для дат в диапазоне лет от 1000 до 9999 getFullYear
возвращает число из четырёх цифр, например, 1995. Используйте эту функцию, чтобы иметь гарантию того, что год будет соответствовать формату лет после 2000 года.
Используйте этот метод вместо метода getYear.
Примеры
В этом примере значение из 4 цифр (текущий год) присваивается переменной yr.
var yr; Today = new Date();
yr = Today.getFullYear();
См. также
, , .
Ядро JavaScript 1.5. Справочник
Возвращает час в специфицированной дате в соответствии с локальным временем.
Метод из
Реализован в
JavaScript 1.0, NES 2.0
Версия ECMA
ECMA-262
Синтаксис
getHours()
Параметры
Отсутствуют.
Описание
Значение, возвращаемое методом getHours, это целое в диапазоне от 0 до 23.
Примеры
Второй оператор присваивает значение 23 переменной hours, базируясь на значении Date-объекта Xmas95.