Ядро JavaScript 1.5. Справочник

Abs

Возвращает абсолютное значение числа.

Метод из Static Реализован в JavaScript 1.0, NES 2.0 Версия ECMAECMA-262
Синтаксис
abs(x)

Параметр

x

Число.

Пример


Эта функция возвращает абсолютное значение переменной x:
function getAbs(x) {
return Math.abs(x)
}
Описание

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

Acos

Возвращает арккосинус числа (в радианах).
Метод из
Static
Реализован вJavaScript 1.0, NES 2.0
Версия ECMAECMA-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 и создаётся якорь для для оглавления:
var myString="Table of Contents"

msgWindow.document.writeln(myString.anchor("contents_anchor"))
Это пример создаёт такой же вывод, как и следующий HTML:
Table of Contents
См. также

.

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.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 функции. Версия ECMAECMA-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">

    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
    result += arguments[i] + separator

    }

    return result

    }
    Вы можете передать этой функции любое количество аргументов, и она создаст список, используя каждый аргумент как элемент списка:
    // возвращает "red, orange, blue, "

    myConcat(", ","red","orange","blue")
    // возвращает "elephant; giraffe; lion; cheetah;"

    myConcat("; ","elephant","giraffe","lion", "cheetah")
    //
    возвращает "sage. basil. oregano. pepper. parsley. "

    myConcat(". ","sage","basil","oregano", "pepper", "parsley")
    Пример 2.

    Здесь определена функция, создающая HTML-списки. Единственным формальным аргументом этой функции является строка, которая будет "U", если список неупорядоченный (bulleted), или "O", если это упорядоченный/нумерованный список. Функция определяется так:
    Function list(type) {

    document.write("<" + type + "L>") // начало списка

    // итерация по аргументам

    for (var i=1; i
    document.write("
  • " + arguments[i])

    }

    document.write("") // конец списка

    }
    Вы можете передать этой функции любое количество аргументов, и она отобразит каждый аргумент как элемент списка указанного типа. Например, этот вызов функции:
    list("U", "One", "Two", "Three")
    даст на выходе:


  • One

  • Two

  • Three


    В серверном JavaScript Вы можете отобразить тот же вывод путём вызова функции вместо document.write.

    Арифметические Операции

    Арифметические операции принимают числовые значения (литералы или переменные) в качестве операндов и возвращают одно числовое значение. Стандартными арифметическими операциями являются сложение (+), вычитание (-), умножение (*) и деление (/).
    Реализованы вJavaScript 1.0
    Версия ECMAECMA-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" в тэге
    Свойства и элементы, возвращённые из этого совпадения:


    Свойство/Элемент
    Описание
    Пример input Свойство только для чтения, содержание которого отражает оригинальную строку, относительно которой выполняется совпадение с регулярным выражением. cdbBdbsbzindex Свойство только для чтения, которое является индексом с базой 0 совпадения в строке.1
    [0] Элемент только для чтения, который специфицирует последние совпавшие символы. dbBd[1], ...[n] Элементы только для чтения, которые специфицируют совпадения подстроки в скобках, если она включена в регулярное выражение. Количество подстрок, заключённых в кавычки, не лимитировано.
    [1]=bB
    [2]=d

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


    JavaScript 1.2.

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

    Объект
    Свойство/Индекс
    Описание
    Пример myArray Контекст myArray. ["dbBd", "bB", "d"]index Индекс совпадений в строке с базой 0. 1input Строка-оригинал.cdbBdbsbz[0]Последние совпавшие символы. dbBd[1], ...[n] Совпавшие подстроки в кавычках, если имеются (подстроки). Количество подстрок в кавычках не ограничено.
    [1] = bB
    [2] = dmyRelastIndex Индекс, с которого начать следующий поиск.5 ignoreCase Указывает, использовался ли флаг "i" для игнорирования регистра. trueglobal Указывает, использовался ли флаг "g" для глобального поиска совпадений. true multiline Указывает, использовался ли флаг "m" для глобального поиска совпадений. falsesource Текст патэрна.d(b+)(d)
    Если Ваше регулярное выражение использует флаг "g", Вы можете использовать метод exec
    несколько раз для поиска успешных совпадений в той же строке. Если Вы это сделаете, поиск начинается с подстроки в str, специфицированной свойством lastIndex
    в регулярном выражении. Например, расмотрим этот скрипт:

    Будет выведен следующий текст:
    Found abb. Next match starts at 3
    Found ab. Next match starts at 9
    Примеры


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


    Enter your first name and then press Enter.



    Exp

    Возвращает Ex, где x это аргумент, а E это константа Эйлера, база натуральных логарифмов.

    Метод из Static Реализован вJavaScript 1.0, NES 2.0 Версия ECMAECMA-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:
    Hello, world

    Floor

    Возвращает наибольшее целое, меньше или равное данному числу.

    Метод из Static Реализован вJavaScript 1.0, NES 2.0 Версия ECMAECMA-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

    Строка выводится специфицированным цветом, как при использовании тэга .

    Метод из Реализован в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 используется для изменения цвета строки:
    var worldString="Hello, world"
    document.write(worldString.fontcolor("maroon") +

    " is maroon in this line")

    document.write("" + worldString.fontcolor("salmon") +

    " is salmon in this line")

    document.write("" + worldString.fontcolor("red") +

    " is red in this line")
    document.write("" + worldString.fontcolor("8000") +

    " is maroon in hexadecimal in this line")

    document.write("" + worldString.fontcolor("FA8072") +

    " is salmon in hexadecimal in this line")

    document.write("" + worldString.fontcolor("FF00") +

    " is red in hexadecimal in this line")
    Вывод будет таким же, как и в нижеследующем HTML:
    Hello, world is maroon in this line

    Hello, world is salmon in this line

    Hello, world is red in this line
    Hello, world

    is maroon in hexadecimal in this line

    Hello, world

    is salmon in hexadecimal in this line

    Hello, world

    is red in hexadecimal in this line

    Fontsize

    Строка выводится шрифтом специфицированного размера, как при использовании тэга .

    Метод из Реализован в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("" + worldString.big())

    document.write("" + worldString.fontsize(7))
    Вывод будет таким же, как и в нижеследующем HTML:
    Hello, world

    Hello, world

    Hello, world
    См. также

    ,
    .

    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;

    }

    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);

    }

    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

    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 определяет анонимную функцию внутри выражения.

    Реализована вJavaScript 1.5

    Синтаксис

    {var | const} variableName = function(parameters) {functionBody};


    Описание

    Следующие примеры показывают использование операции 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:

    Однако, если скрипт изменяется таким образом, что условие становится '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 Версия ECMAECMA-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.
    Xmas95 = new Date("December 25, 1995 23:15:00")

    hours = Xmas95.getHours()

    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getMilliseconds()
    Параметры

    Отсутствуют.
    Описание

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

    Следующий пример присваивает миллисекундную часть текущего времени переменной ms.
    var ms;
    Today = new Date();
    ms = Today.getMilliseconds();
    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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


    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262

    Синтаксис
    getMinutes()
    Параметры

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

    Описание

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

    Примеры

    Второй оператор присваивает 15 переменной minutes, базируясь на значении Date-объекта Xmas95.
    Xmas95 = new Date("December 25, 1995 23:15:00")

    minutes = Xmas95.getMinutes()

    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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


    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262


    Синтаксис

    getMonth()
    Параметры

    Отсутствуют.
    Описание

    getMonth возвращает значение - целое в диапазоне от 0 до 11.

    0 соответствует January/январю, 1 - February/февралю, и так далее.

    Примеры

    Второй оператор присваивает 11 переменной month, базируясь на значении Date-объекта Xmas95.
    Xmas95 = new Date("December 25, 1995 23:15:00")

    month = Xmas95.getMonth()


    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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


    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262


    Синтаксис

    getSeconds()
    Параметры

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

    Описание

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

    Примеры

    Второй оператор присваивает значение 30 переменной secs, базируясь на значении Date-объекта Xmas95.
    Xmas95 = new Date("December 25, 1995 23:15:30")

    secs = Xmas95.getSeconds()


    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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


    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262


    Синтаксис

    getTime()
    Параметры

    Отсутствуют.
    Описание

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

    Примеры

    В этом примере значение даты theBigDay присваивается sameAsBigDay:
    theBigDay = new Date("July 1, 1999")
    sameAsBigDay = new Date()

    sameAsBigDay.setTime(theBigDay.getTime())


    См. также

    , .


    Ядро JavaScript 1.5. Справочник

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

    Метод из РеализованJavaScript 1.0, NES 2.0 Версия ECMA ECMA-262
    Синтаксис
    getTimezoneOffset()
    Параметры

    Отсутствуют.
    Описание

    Смещение часового пояса это разница между местным временем и Greenwich Mean Time (GMT)/временем по Гринвичу. Переход на летнее время не даёт этому значению быть постоянным.
    Примеры
    x = new Date()

    currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getUTCDate()
    Параметры

    Отсутствуют.
    Описание

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

    Примеры

    В этом примере часть дня из текущей даты присваивается переменной d.
    var d;
    Today = new Date();
    d = Today.getUTCDate();
    См. также

    , , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getUTCDay()
    Параметры

    Отсутствуют.
    Описание

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

    Примеры

    В этом примере часть дня недели текущей даты присваивается переменной ms.
    var weekday;
    Today = new Date()

    weekday = Today.getUTCDay()


    См. также

    , , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getUTCFullYear()
    Параметры

    Отсутствуют.
    Описание

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

    В этом примере значение из 4 цифр, текущий год, присваивается переменной yr.
    var yr;
    Today = new Date();

    yr = Today.getUTCFullYear();


    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getUTCHours()
    Параметры

    Отсутствуют.
    Описание

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

    Примеры

    В примере часть "часы" текущего времени присваивается переменной hrs.
    var hrs;
    Today = new Date();
    hrs = Today.getUTCHours();
    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getUTCMilliSeconds()
    Параметры

    Отсутствует.
    Описание

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

    Примеры

    В этом примере часть миллисекунд текущего времени присваивается переменной ms.
    var ms;
    Today = new Date();

    ms = Today.getUTCMilliseconds();

    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getUTCMinutes()
    Параметры

    Отсутствуют.
    Описание

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

    Примеры

    В примере часть "минуты" текущего времени присваивается переменной min.
    var min;
    Today = new Date();

    min = Today.getUTCMinutes();


    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    getUTCMonth()
    Параметры

    Отсутствуют.
    Описание

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

    В этом примере часть "месяц" текущей даты присваивается переменной mon.
    var mon;

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


    См. также

    , .

    Ядро JavaScript 1.5. Справочник

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

    Метод из Реализован в JavaScript 1.3Версия ECMA ECMA-262
    Синтаксис
    getUTCSeconds()
    Параметры

    Отсутствуют.
    Описание

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

    В этом примере часть "секунды" текущего времени присваивается переменной sec.
    var sec;
    Today = new Date();

    sec = Today.getUTCSeconds();


    См. также

    , .

    Ядро JavaScript 1.5. Справочник

    getWrappedException - метод экземпляра.


    Объявление

    public Object getWrappedException()


    Описание

    getWrappedException() возвращает объект, представляющий значение, которое JavaScript реально отловил. JavaScript может отлавливать значения любых типов. Используйте getWrappedException() для определения вида значения, которое представляет return-тип Object'а.



    Ядро JavaScript 1.5. Справочник

    getWrappedExceptionType - метод экземпляра.

    Объявление

    public int getWrappedExceptionType()


    Описание

    getWrappedExceptionType()
    возвращает int, которое совпадает с одним из следующих static int, объявленных классом JSException:


    EXCEPTION_TYPE_EMPTY EXCEPTION_TYPE_VOID EXCEPTION_TYPE_OBJECT EXCEPTION_TYPE_FUNCTION EXCEPTION_TYPE_STRING EXCEPTION_TYPE_NUMBER EXCEPTION_TYPE_BOOLEAN



    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Ядро JavaScript 1.5. Справочник

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

    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0
    JavaScript 1.3: не рекомендуется использовать; getYear возвращает год минус 1900 независимо от специфицированного года.

    Версия ECMA

    ECMA-262

    Синтаксис
    getYear()
    Параметры

    Отсутствуют.
    Описание

    getYear больше не используется и заменён методом .
    Метод getYear возвращает год минус 1900; таким образом:
  • Для лет больше 2000, возвращаемое методом getYear значение будет 100 или больше. Например, если это 2026 год, getYear вернёт 126.

  • Для лет от 1900 до 1999 включительно, getYear вернёт значение от 0 до 99. Например, если это 1976 год, getYear возвращает 76.

  • Для лет меньше 1900 или больше 1999, getYear возвращает значение меньше нуля 0. Например, если это 1800 год, getYear возвращает - 100.

  • Чтобы использовать годы до и после 2000, Вы должны использовать вместо getYear, чтобы год был полностью специфицирован.

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

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

    Метод getYear возвращает 2-х или 4-значный год:
  • Для лет между 1900 и 1999 включительно, getYear возвращает год минус 1900. Например, если это 1976 год, возвращается 76.

  • Для лет меньше 1900 или больше 1999, getYear возвращает 4-значное число - год. Например, если это 1856 год, возвращается значение 1856. Если это 2026 год, возвращается 2026.

  • Примеры
    Пример 1.

    Второй оператор присваивает значение 95 переменной year.
    Xmas = new Date("December 25, 1995 23:15:00")

    year = Xmas.getYear() // возвращает 95

    Пример 2.

    Второй оператор присваивает 100 переменной year.
    Xmas = new Date("December 25, 2000 23:15:00")

    year = Xmas.getYear() // возвращает 100
    Пример 3.

    Второй оператор присваивает -100 переменной year.
    Xmas = new Date("December 25, 1800 23:15:00")

    year = Xmas.getYear() // возвращает -100
    Пример 4.

    Второй оператор присваивает 95 переменной year, представляя 1995 год.
    Xmas.setYear(95)

    year = Xmas.getYear() // возвращает 95


    См. также

    , , .

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



    Эта глава документирует все объекты JavaScript и их методы и свойства. Это алфавитный справочник по главным возможностям JavaScript.
    Справочник организован так:
    Полные статьи по каждому объекту появляются в алфавитном порядке; свойства и функции, не ассоциированные с каким-либо объектом, даны в Каждая статья содержит полное описание объекта. Таблицы, включённые в описание каждого объекта, резюмируют свойства и методы объекта.
    Полные статьи по свойствам и методам объекта появляются в алфавитном порядке после статьи об объекте.
    Эти статьи предоставляют полное описание каждого метода или свойства и содержат перекрёстные ссылки на другие возможности, рассматриваемые в данной документации.

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Операторы

    В этой главе рассматриваются все операторы JavaScript.
    Оператор JavaScript состоит из ключевого слова, используемого с соответствующим синтаксисом.

    Один оператор может занимать несколько строк. несколько операторов могут занимать одну строку, отделённые один от другого знаком "точка с запятой".
    Соглашения по синтаксису: все ключевые слова показаны жирным шрифтом. Слова шрифта italic представляют определяемые пользователем имена или операции. Части в квадратных скобках [ ] являются необязательными.

    {statements} это блок операторов, который может состоять из 0 или более операторов и заключён в фигурные скобки { }.
    В таблице перечислены операторы JavaScript.




    Таблица 3.1    Операторы JavaScript



    Прерывает текущий цикл while или for и передаёт управление следующему после цикла оператору.


    Объявляет глобальную константу, инициализируя её (по выбору/optionally) значением.


    Прерывает выполнение блока операторов в цикле while или for и начинает выполнение следующей итерации цикла.


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


    Даёт возможность обозначенному/signed скрипту предоставлять свойства, функции и объекты другим обозначенным или необозначенным/unsigned скриптам.

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

    Итерирует специфицированную переменную по всем свойствам объекта. Для каждого отдельного свойства JavaScript выполняет специфицированные операторы.

    Объявляет функцию со специфицированными параметрами. В качестве параметров могут быть строки, числа и объекты.

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

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

    Идентификатор, который может использоваться совместно с break или continue для указания на точку продолжения выполнения программы.

    Специфицирует значение, возвращаемое функцией.

    Даёт возможность программе вычислять выражение и искать совпадение значения выражения с меткой case.

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

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

    Объявляет переменную, инициализируя её, по выбору, значением.

    Создаёт цикл, который вычисляет выражение, и, если оно true, выполняет блок операторов. Затем цикл повторяется до тех пор, пока специфицированное условие true.


    Устанавливает объект по умолчанию для набора выполняемых операторов.


    Операции



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

    Таблица 5.1    Операции JavaScript.


    Категория Операции
    Операция
    Описание
    +(Сложение) Складывает 2 числа. ++ (Инкремент/Увеличение) добавляет единицу к переменной, представляющей число (возвращая новое или старое значение переменной).
    - (Унарное отрицание, вычитание) Как унарная операция выполняет отрицание аргумента. Как бинарная операция, выполняет вычитание 2 чисел.
    --(Декремент/Уменьшение) Вычитает единицу из переменной, представляющей число (возвращает новое или старое значение переменной).
    *(Умножение) Перемножает два числа.
    / (Деление) Выполняет деление одного числа на другое.
    %(Модулус) Вычисляет целочисленный остаток от деления двух чисел. +(Конкатенация) Объединяются/складываются две строки.
    += Конкатенация двух строк и присвоение результата первому операнду. && (Логическое И) Возвращает первый операнд, если он может быть конвертирован в false; иначе, возвращает второй операнд. Таким образом, при использовании с Boolean-значениями, && возвращает true, если оба операнда true; иначе, возвращает false.
    (Логическое ИЛИ) Возвращает первый операнд, если он может быть конвертирован в true; иначе, возвращает второй операнд. Таким образом, при использовании с Boolean-значениями, возвращает true, если один из операндов true; если оба false, возвращает false. !(Логическое НЕТ) Возвращает false, если его единственный операнд может быть конвертирован в true; иначе, возвращает true.
    & (Побитовое И) Возвращает 1 в битовой позиции, если биты обоих операндов являются единицами.
    ^ (Побитовое исключающее ИЛИ) Возвращает 1 в битовой позиции, если бит одного, но не обоих операндов являются единицами.| (Побитовое ИЛИ) Возвращает 1 в битовой позиции, если бит любого операнда равен 1.~ (Побитовое НЕ) Побитовое отрицание операнда. << (Сдвиг влево) Сдвигает первый операнд в битовом представлении влево на количество битов, специфицированное вторым операндом, заполняя слева.
    >>(Сдвиг вправо с сохранением знака) Сдвигает первый операнд в битовом представлении вправо на количество битов, специфицированное вторым операндом, отбрасывая смещённые биты.
    >>>(Сдвиг вправо с заполнением нулями) Сдвигает первый операнд в битовом представлении вправо на количество битов, специфицированное вторым операндом, отбрасывая смещённые биты и заполняя слева нулями.
    =Присваивает первому операнду значение второго операнда.
    += Складывает два числа и присваивает результат первому операнду.
    -=Вычитает одно число из другого и присваивает результат первому операнду.
    *= Перемножает два числа и присваивает результат первому операнду.
    /=Делит одно число на другое и присваивает результат первому операнду.
    %= Вычисляет целочисленный результат от деления двух чисел и присваивает результат первому операнду.
    &= Выполняет побитовое И и присваивает результат первому операнду.
    ^=Выполняет побитовое исключающее ИЛИ и присваивает результат первому операнду.
    |=Выполняет побитовое ИЛИ и присваивает результат первому операнду.
    <<=Выполняет сдвиг влево и присваивает результат первому операнду.
    >>=Выполняет сдвиг вправо с сохранением знака и присваивает результат первому операнду.
    >>>= Выполняет сдвиг вправо с заполнением нулями и присваивает результат первому операнду. ==Возвращает true, если операнды равны.!=
    Возвращает true, если операнды не равны. === Возвращает true, если операнды равны и одного типа. !==Возвращает true, если операнды не равны и/или не одного типа.>
    Возвращает true, если левый операнд больше правого операнда.
    >= Возвращает true, если левый операнд больше или равен правому операнду. < Возвращает true, если левый операнд меньше правого операнда. <=Возвращает true, если левый операнд меньше или равен правому операнду.
    ?Выполняет обычный "if...then...else".
    , Вычисляет два выражения и возвращает результат второго.
    Удаляет объект, свойство объекта или элемент по специфицированному индексу в массиве.
    Определяет анонимную функцию.
    Возвращает true, если специфицированное свойство имеется в специфицированном объекте.
    Возвращает true, если специфицированный объект имеет специфицированный тип объекта.
    Создаёт экземпляр определённого пользователем типа объекта или одного из встроенных типов объекта. Ключевое слово, используемое для обращения к текущему объекту.
    Возвращает строку, указывающую тип невычисленного операнда.
    Специфицирует выражение, вычисляемое без возвращения значения.



    Классы, Конструкторы и Методы Java

    Эта глава документирует Java-классы, используемые для LiveConnect, и их конструкторы и методы.

    Имеется алфавитная ссылка на классы, которая даёт доступ Java-объектам к коду скриптов JavaScript.
    Эта ссылка организована так:
    Полные вхождения для каждого класса появляются в алфавитном порядке.
    Таблицы, включённые в описание каждого класса, суммирую конструкторы и методы класса.
    Полные вхождения для конструкторов и методов класса появляются в алфавитном порядке после вхождения класса.

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Ядро JavaScript 1.5. Справочник

    Используется ли флаг "g" с регулярным выражением.

    Свойство изЭкземпляры . Read-onlyРеализовано в JavaScript 1.2, NES 3.0Версия ECMA ECMA 262, Edition 3
    Описание

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

    If...else

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

    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262


    Синтаксис

    if (condition) {

    statements1

    }

    [else {

    statements2

    }]
    Параметры


    condition

    Условие. Может быть любым выражением JavaScript, которое вычисляется в true или false. Должно быть заключено в скобки. Если true, выполняются операторы statements1.

    statements1,

    statements2 Любые операторы JavaScript, включая вложенные if. Несколько операторов обязаны быть заключены в фигурные скобки.

    Описание

    Вы не должны использовать операции присвоения в условном операторе. Например, не используйте такой код:
    if(x = y)

    {

    /* делайте правильно */

    }
    Если Вам необходимо использовать присвоение в условном операторе, добавьте дополнительные скобки вокруг операции присвоения. Например, if( (x = y) ).

    Примеры

    if (cipher_char == from_char) {

    result = result + to_char

    x++}

    else

    result = result + clear_char

    IgnoreCase

    Используется ли флаг "i" с регулярным выражением.

    Свойство изЭкземпляры .
    Read-only Реализовано вJavaScript 1.2, NES 3.0 Версия ECMAECMA 262, Edition 3
    Описание

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

    Import

    Даёт возможность скриптам импортировать свойства, функции и объекты из обозначенного/signed скрипта, экспортирующего информацию.
    Эта возможность отсутствует в ECMA 262, Edition 3.

    Реализован в JavaScript 1.2, NES 3.0

    Синтаксис

    import objectName.name1, objectName.name2, ..., objectName.nameN

    import objectName.*

    Параметры


    objectName

    Имя объекта, который будет получать импортируемые имена.
    name1,

    name2,

    nameN Список импортируемых из файла экспорта свойств, функций и объектов .
    * Импортируются все свойства, функции и объекты их экспортирующего скрипта.

    Описание

    Параметр objectName это имя объекта, который будет получать импортируемые имена. Например, если f и p экспортируются и если obj это объект импортирующего скрипта, следующий код делает f и p доступными в импортирующем скрипте как свойства объекта obj.
    import obj.f, obj.p
    Обычно информация в обозначенном/signed скрипте доступна только скриптам, обозначенным теми же принципалами/principals. Экспортируя (используя оператор ) свойства, функции и объекты, обозначенный скрипт делает эту информацию доступной любому скрипту (signed или unsigned). Импортирующий скрипт использует оператор import для доступа к этой информации.
    Скрипт обязан загрузить экспортирующий скрипт в окно, фрэйм или слой/layer, прежде чем сможет импортировать и использовать любые экспортируемые свойства, функции и объекты.

    См. также

    .

    In

    Операция in возвращает true, если специфицированное свойство имеется в специфицированном объекте.

    Реализована вJavaScript 1.4

    Синтаксис

    propNameOrNumber in objectName


    Параметры
    propNameOrNumber

    Строка или числовое выражение, представляющее имя свойства или индекс массива.
    objectNameИмя объекта.

    Описание

    Некоторые примеры использования операции in:
    // Массивы

    trees=new Array("redwood","bay","cedar","oak","maple")

    0 in trees // возвращает true

    3 in trees //
    возвращает true

    6 in trees //
    возвращает
    false

    "bay" in trees //
    возвращает
    false (Вы обязаны специфицировать номер индекса,

    // а не значение по этому индексу)

    "length" in trees //
    возвращает
    true (length это свойство Array)
    // Предопределённые объекты

    "PI" in Math //
    возвращает
    true

    myString=new String("coral")

    "length" in myString //
    возвращает true
    // Специальные объекты

    mycar = {make:"Honda",model:"Accord",year:1998}

    "make" in mycar //
    возвращает
    true

    "model" in mycar //
    возвращает true
    Вы обязаны специфицировать объект справа от операции in. Например, Вы можете специфицировать строку, созданную конструктором String, но не можете специфицировать строковой литерал.
    color1=new String("green")

    "length" in color1 //
    возвращает true

    color2="coral"

    "length" in color2 //генерирует ошибку (coral это не String-объект)

    Использование in с удалёнными или undefined свойствами.

    Если Вы удаляете свойство операцией delete, операция in возвратит false для данного свойства.
    mycar = {make:"Honda",model:"Accord",year:1998}

    delete mycar.make

    "make" in mycar //
    возвращает false
    trees=new Array("redwood","bay","cedar","oak","maple")

    delete trees[3]

    3 in trees //
    возвращает false
    Если Вы устанавливаете свойство в undefined, но не удаляете его, операция in возвращает true для этого свойства.
    mycar = {make:"Honda",model:"Accord",year:1998}

    mycar.make=undefined

    "make" in mycar //
    возвращает true
    trees=new Array("redwood","bay","cedar","oak","maple")

    trees[3]=undefined

    3 in trees //
    возвращает true
    Об использовании операции in
    с удалёнными элементами массива см. .

    объекта возвращает индекс первого появления

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

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

    indexOf(searchValue[, fromIndex])
    Параметры


    searchValue

    Строка, представляющая значение для поиска.fromIndex Место в вызывающей строке, с которого начинается поиск. Это может быть целое число в диапазоне от 0 и до конца строки. Значение по умолчанию 0.

    Описание

    Символы в строке индексируются слева направо. Индекс первого символа 0, а индекс последнего символа строки, называемый StringName, это StringName.length - 1.
    "Blue Whale".indexOf("Blue") // возвращает 0

    "Blue Whale".indexOf("Blute") // возвращает -1

    "Blue Whale".indexOf("Whale",0) // возвращает 5

    "Blue Whale".indexOf("Whale",5) // возвращает 5

    "Blue Whale".indexOf("",9) // возвращает 9

    "Blue Whale".indexOf("",10) // возвращает 10

    "Blue Whale".indexOf("",11) // возвращает 10
    Метод indexOf чувствителен к регистру. Например, следующее выражение возвращает -1:
    "Blue Whale".indexOf("blue")
    Примеры

    Пример 1.

    Этот пример использует indexOf и lastIndexOf для локализации значений в строке "Brave new world."
    var anyString="Brave new world"
    // Отображает 8

    document.write("The index of the first w from the beginning is " +

    anyString.indexOf("w"))

    // Отображает 10

    document.write("The index of the first w from the end is " +

    anyString.lastIndexOf("w"))

    // Отображает 6

    document.write("The index of 'new' from the beginning is " +

    anyString.indexOf("new"))

    // Отображает 6

    document.write("The index of 'new' from the end is " +

    anyString.lastIndexOf("new"))
    Пример 2.

    Этот пример определяет две строковые переменные. Эти переменные содержат одинаковые строки, но во второй строке буквы введены в верхнем регистре. Первый метод writeln выводит 19. Но, поскольку метод indexOf чувствителен к регистру, строка "cheddar" в строке myCapString не будет найдена, поэтому второй метод writeln выводит -1.
    myString="brie, pepper jack, cheddar"

    myCapString="Brie, Pepper Jack, Cheddar"

    document.writeln('myString.indexOf("cheddar") is ' +

    myString.indexOf("cheddar"))

    document.writeln('myCapString.indexOf("cheddar") is ' +

    myCapString.indexOf("cheddar"))
    Пример 3.

    Этот пример устанавливает count в число появлений буквы x в строке str:
    count = 0;

    pos = str.indexOf("x");

    while ( pos != -1 ) {

    count++;

    pos = str.indexOf("x",pos+1);

    }


    См. также

    , , .

    ++ (Инкремент/Увеличение)

    Операция инкремента используется так:
    var++ или ++var
    Выполняет инкремент (добавляет единицу) своего операнда и возвращает значение. Если используется как постфикс, операция после операнда (например, x++), затем возвращает значение, бывшее до инкремента. Если используется как префикс, операция
    перед операндом (например, ++x), тогда возвращает, после выполнения инкремента, новое значение.
    Например, если x равен 3, тогда операция y = x++ устанавливает y в 3 и увеличивает x до 4. Если x равен 3, то операция y = ++x выполняет инкремент x до 4 и устанавливает y в 4.

    Input

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

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

    Instanceof

    Операция instanceof возвращает true, если специфицированный объект имеет специфицированный тип.

    Реализована вJavaScript 1.4

    Синтаксис

    objectName instanceof objectType


    Параметры

    objectName

    Имя объекта для сравнения с objectType.objectType Тип объекта.


    Описание

    Используйте instanceof, если необходимо подтвердить тип объекта на этапе прогона. Например, при отлове исключений Вы можете выполнять ветвление по различным вариантам кода, в зависимости от типа вызываемого исключения.
    Вы обязаны специфицировать объект справа от операции instanceof. Например, Вы можете специфицировать строку, созданную с помощью конструктора String, но не можете специфицировать строковой литерал.
    color1=new String("green")

    color1 instanceof String //
    возвращает true

    color2="coral"

    color2 instanceof String //
    возвращает false (coral не является String-объектом)

    Примеры

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

    Пример 1.

    В этом коде instanceof
    используется для определения, является ли theDay Date -объектом. Поскольку theDay является Date -объектом, операторы в операторе if
    выполняются.
    theDay=new Date(1995, 12, 17)

    if (theDay instanceof Date) {

    // выполняемые операторы

    }
    Пример 2.

    В этом коде instanceof
    используется для демонстрации того, что объекты String
    и Date имеют также тип Object (они получены из Object).
    myString=new String()

    myDate=new Date()
    myString instanceof String // возвращает true

    myString instanceof Object //
    возвращает
    true

    myString instanceof Date //
    возвращает false
    myDate instanceof Date //
    возвращает true

    myDate instanceof Object //
    возвращает true

    myDate instanceof String //
    возвращает false
    Пример 3.

    В это коде создаётся тип объектов Car и экземпляр этого типа объектов, mycar. Операция instanceof демонстрирует, что объект mycar имеет тип Car и тип Object.
    function Car(make, model, year) {

    this.make = make

    this.model = model

    this.year = year

    }

    mycar = new Car("Honda", "Accord", 1998)

    a=mycar instanceof Car // возвращает true

    b=mycar instanceof Object //
    возвращает true

    Italics

    Выводит строку шрифтом italic, как при использовании тэга .

    Метод из Реализован вJavaScript 1.0, NES 2.0

    Синтаксис

    italics()
    Параметры

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

    Описание

    Используйте метод italics с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.

    Примеры



    В этом примере используются методы работы со строками для изменения форматирования строки:
    var worldString="Hello, world"
    document.write(worldString.blink())

    document.write("" + worldString.bold())

    document.write("" + worldString.italics())

    document.write("" + worldString.strike())
    Вывод будет таким же, как и в нижеследующем HTML:
    Hello, world

    Hello, world

    Hello, world

    Hello, world
    См. также

    , , .

    Ядро JavaScript. Справочник.

    Оригинал этого справочника (на английском языке) и другие

    спецификации от Netscape можно найти по адресу:

    Перевод на русский язык выполнил Александр Пирамидин.
    Ваши замечания и предложения направляйте по e-mail:
    Эта книга является справочником по ядру языка JavaScript версии 1.5.

    JavaScript это созданный Netscape платформонезависмый объектно-базирующийся язык скриптинга (сценариев). Ядро JavaScript может быть расширено за счёт дополнения его новыми объектами.

    Java

    Объект верхнего уровня, используемый для доступа к любым классам Java пакета java.*.
    Объект ядраРеализован в JavaScript 1.1, NES 2.0

    Создание

    Объект java это объект верхнего уровня, предопределённый JavaScript-объект. Вы можете автоматически получать к нему доступ без использования конструктора или вызова метода.

    Описание


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

    См. также


    , .


    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Любой класс Java-пакета java.*.

    Свойство из Реализовано в JavaScript 1.1, NES 2.0
    Синтаксис
    Packages.java
    Описание

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

    Примеры


    Следующий код получает в JavaScript доступ к конструктору класса java.awt.Frame:
    var theOwner = new Packages.java.awt.Frame();
    Вы можете упростить этот код путём использования использования объекта java верхнего уровня для доступа к конструктору:
    var theOwner = new java.awt.Frame();

    JavaArray

    Объект-капсула, Java-массив, доступ к которому осуществляется из кода JavaScript, является членом типа JavaArray.


    Объект ядра Реализован в JavaScript 1.1, NES 2.0

    Создание


    Любой Java-метод, возвращающий массив. Кроме того, Вы можете создать JavaArray из данных произвольного типа, используя метод newInstance класса Array:
    public static Object newInstance(Class componentType,

    int length)
    throws NegativeArraySizeException


    Описание

    Объект JavaArray является экземпляром массива Java, который создаётся в или передаётся в JavaScript. JavaArray это капсула для экземпляра; все ссылки на этот экземпляр массива осуществляются через JavaArray.
    В JavaScript 1.4 и позднее параметр componentType это JavaClass-объект или объект, представляющий тип массива или объект класса, такой как возвращаемый из java.lang.Class.forName. В JavaScript 1.3 и ранее componentType обязан быть объектом класса.
    Для доступа к элементам JavaArray-объекта используются индексы с базой 0, точно так, как Вы получаете доступ к элементам Java-массива. Например:
    var javaString = new java.lang.String("Hello world!");

    var byteArray = javaString.getBytes();

    byteArray[0] // возвращает 72

    byteArray[1] //
    возвращает 101
    Любые данные Java, перенесённые в JavaScript, конвертируются в типы данных JavaScript. Если JavaArray передаётся обратно в Java, с массива убирается оболочка, и он может использоваться кодом Java. См. в книге
    информацию конверсии типов данных.
    В JavaScript 1.4 и позднее методы из java.lang.Object наследуются в JavaArray.


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

    JavaScript 1.3 и ранее.

    Методы из java.lang.Object не наследуются в JavaArray. Кроме того, метод toString наследуется из объекта Object и возвращает следующее значение:
    [object JavaArray]
    Вы обязаны специфицировать объект класса, такой как возвращаемый из java.lang.Object.forName, для параметра componentType метода newInstance, если Вы используете этот метод для создания массива. Вы не можете использовать объект JavaClass для параметра componentType.


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



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

    Количество элементов в Java-массиве, представленное объектом JavaArray.


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


    Метод
    Описание В JavaScript 1.4 этот метод переопределён унаследованным методом java.lang.Object.toString.
    В JavaScript 1.3 и ранее этот метод возвращает строку, идентифицирующую объект как JavaArray.
    В JavaScript 1.4 и позднее JavaArray также наследует методы суперкласса массива Java, java.lang.Object.


    Примеры

    Пример 1.

    Инстанциация (создание экземпляра) JavaArray в JavaScript.
    В этом примере JavaArray byteArray создаётся методом java.lang.String.getBytes, который возвращает массив.
    var javaString = new java.lang.String("Hello world!");

    var byteArray = javaString.getBytes();
    Пример 2.

    Инстанциация JavaArray в JavaScript методом newInstance.
    В JavaScript 1.4 Вы можете использовать объект JavaClass как аргумент для метода newInstance, который создаёт массив, как показано в этом коде:
    var dogs = java.lang.reflect.Array.newInstance(java.lang.String, 5)
    В JavaScript 1.1 объект класса, возвращаемый методом java.lang.Class.forName, используется как аргумент метода newInstance, как показано в коде:
    var dataType = java.lang.Class.forName("java.lang.String")

    var dogs = java.lang.reflect.Array.newInstance(dataType, 5)

    JavaClass

    Ссылка JavaScript на Java-класс.


    Объект ядра Реализован в JavaScript 1.1, NES 2.0


    Создание

    Ссылка на имя класса, используемая в объекте Packages:
    Packages.JavaClass
    где JavaClass это полное квалифицированное имя Java-класса объекта. Объекты LiveConnect java, sun и netscape
    предоставляют быстрый доступ к наиболее часто используемым пакетам Java, а также создают объекты JavaClass.

    Описание

    Объект JavaClass это ссылка на один из классов пакета Java, такой как netscape.javascript.JSObject.

    Объект JavaPackage это ссылка на пакет Java, такой как netscape.javascript.

    В JavaScript иерархия JavaPackage и JavaClass отражает иерархию пакетов и классов Java.
    Вы можете передавать объект JavaClass Java-методу, который требует тип аргумента java.lang.Class.


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

    JavaScript 1.3 и ранее.

    Вы обязаны создать капсулу-оболочку вокруг экземпляра java.lang.Class до того, как Вы передадите его как параметр Java- методу.
    Объекты JavaClass
    не конвертируются автоматически в экземпляры класса java.lang.Class.

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

    Свойства объекта JavaClass являются static-полями Java-класса.


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

    Методы объекта JavaClass
    являются static-методами Java-класса.


    Примеры

    Пример 1.

    Здесь x это объект JavaClass, ссылающийся на java.awt.Font. Поскольку BOLD это static-поле в классе Font, оно также является свойством объекта JavaClass.
    x = java.awt.Font
    myFont = x("helv",x.BOLD,10) // создаёт Font-объект
    Предыдущий пример опускает ключевое слово Packages и использует синоним java, поскольку класс Font находится в пакете java.

    Пример 2.

    Здесь JavaClass-объект java.lang.String
    передаётся как аргумент методу newInstance, который создаёт массив:
    var cars = java.lang.reflect.Array.newInstance(java.lang.String, 15)


    См. также

    , , , .

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    JavaObject

    Тип объекта-капсулы Java, доступ к которому осуществляется из кода JavaScript.

    Объект ядра Реализован вJavaScript 1.1, NES 2.0


    Создание

    Любой метод Java, возвращающий тип объекта. Кроме того, Вы можете явно конструировать JavaObject
    через использование Java-конструктора объекта с ключевым словом Packages:
    new Packages.JavaClass(parameterList)
    где JavaClass это полное специфицированное имя Java-класса объекта.
    Параметры


    parameterList

    Необязательный список параметров, специфицированный конструктором в Java-классе.
    Описание

    Объект JavaObject
    является экземпляром Java-класса, создаваемым в или передаваемым в JavaScript. JavaObject
    это оболочка для экземпляра; все обращения к экземпляру класса делаются через JavaObject.
    Любые данные Java, перенесённые в JavaScript, конвертируются в типы данных JavaScript. Если JavaArray передаётся обратно в Java, с массива убирается оболочка, и он может использоваться кодом Java. См. в книге информацию конверсии типов данных.


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

    Наследует как свойства членов public-данных Java-класса, экземпляром которого он является. Наследует также как свойства членов public-данных любого суперкласса.


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

    Наследует public-методы из Java-класса, экземпляром которого он является. JavaObject также наследует методы из java.lang.Object
    и любого другого суперкласса.

    Примеры

    Пример 1. Инстанциация Java-объекта в JavaScript.

    Следующий код создаёт JavaObject theString, который является экземпляром класса java.lang.String:
    var theString = new Packages.java.lang.String("Hello, world")
    Поскольку класс String находится в пакете java, Вы можете также использовать синоним java и опустить ключевое слово Packages
    при инстанциации (создании экземпляра) класса:
    var theString = new java.lang.String("Hello, world")

    Пример 2. Доступ к методам Java-объекта.

    Поскольку JavaObject theString является экземпляром класса java.lang.String, он наследует все public-методы класса java.lang.String. В этом примере используется метод startsWith для проверки, начинается ли theString
    с "Hello".
    var theString = new java.lang.String("Hello, world")

    theString.startsWith("Hello") // возвращает true
    Пример 3. Доступ к унаследованным методам.

    Поскольку getClass является методом из Object и java.lang.String расширяет Object, класс String
    наследует метод getClass. Следовательно, getClass
    является также методом из JavaObject, который инстанциирует String в JavaScript.
    var theString = new java.lang.String("Hello, world")

    theString.getClass() // возвращает java.lang.String


    См. также

    , , , .

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    JavaPackage

    Ссылка JavaScript на Java-пакет.


    Объект ядра Реализован в JavaScript 1.1, NES 2.0

    Создание

    Ссылка на имя пакета, используемая с ключевым словом Packages:
    Packages.JavaPackage
    где JavaPackage это имя Java-пакета объекта. Если это пакет в пакетах java, netscape или sun, слово Packages
    применять не обязательно.

    Описание

    В Java пакет это коллекция Java-классов или других Java-пакетов. Например, пакет netscape
    содержит пакет netscape.javascript; пакет netscape.javascript содержит классы JSObject
    и JSException.
    В JavaScript JavaPackage
    это ссылка на Java-пакет. Например, ссылка на netscape это JavaPackage. netscape.javascript
    это и JavaPackage, и свойство JavaPackage в netscape.
    Объект JavaClass является ссылкой на один из классов пакета, такой как netscape.javascript.JSObject. Иерархия JavaPackage и JavaClass отражает иерархию пакетов и классов Java.
    Хотя пакеты и классы, содержащиеся в JavaPackage, являются его свойствами, Вы не можете использовать оператор for...in
    для их перебора так, как Вы можете это делать со свойствами других объектов.


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

    Свойства JavaPackage
    являются объектами JavaClass и другими JavaPackage-объектами, содержащимися в нём.


    Примеры


    Предположим, Redwood corporation использует пакет Java redwood для хранения различных Java-классов, реализованных ею. Следующий код создаёт JavaPackage red:
    var red = Packages.redwood


    См. также

    , , , .


    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Join

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


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


    Синтаксис

    join(separator)


    Параметры


    separator

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

    Описание

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


    Примеры

    Следующий пример создаёт массив a с тремя элементами, затем объединяет массив трижды: используя сепаратор по умолчанию, запятую и пробел, затем знак "плюс".
    a = new Array("Wind","Rain","Fire")

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

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

    myVar3=a.join(" + ") // присваивает "Wind + Rain + Fire" переменной myVar1
    См. также


    JSException

    public-класс JSException расширяет RuntimeException.
    java.lang.Object
    |

    +----java.lang.Throwable

    |

    +----java.lang.Exception

    |

    +----java.lang.RuntimeException

    |

    +----netscape.javascript.JSException


    Описание

    JSException это исключение, вызываемое тогда, когда код JavaScript возвращает ошибку.


    Конструктор. Резюме.

    Класс netscape.javascript.JSException имеет следующий конструктор:

    Конструктор
    Описание


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




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

    Класс netscape.javascript.JSException имеет следующие методы:


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

    Метод getWrappedException экземпляра.
    getWrappedExceptionType
    Метод getWrappedExceptionType экземпляра возвращает int-отображение типа объекта wrappedException.

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


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

    JavaScript от 1.1 до 1.3.

    JSException имело три public-конструктора, которые по выбору принимали строку-аргумент, специфицирующую детальное сообщения или другую информацию об исключении. Метод getWrappedException
    отсутствовал.

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

    Конструирует JSException
    с необязательным сообщением о деталях.

    Объявление
    1. public JSException()
    2. public JSException(String s)
    3. public JSException(String s,

    String filename,
    int lineno,
    String source,

    int tokenIndex)

    Аргументы



    s

    Сообщение о деталях.
    filename URL файла, в котором возникла ошибка, если возможен.
    lineno номер строки в файле, если возможно.
    source Строка, содержащая вычисляемый код JavaScript.
    tokenIndex индекс в строке-источнике, где возникла ошибка.

    JSObject

    Класс public final class netscape.javascript.JSObject расширяет Object.
    java.lang.Object
    |
    +----netscape.javascript.JSObject

    Описание

    Объекты JavaScript "обёрнуты"/инкапсулированы в экземпляры класса netscape.javascript.JSObject
    и передаются в Java.
    JSObject позволяет Java манипулировать объектами JavaScript.
    Если объект JavaScript посылается в Java, машина времени выполнения (программ) создаёт Java-оболочку типа JSObject; когда JSObject посылается из Java в JavaScript, машина времени выполнения "разворачивает" его в оригинальный тип объекта JavaScript. Класс JSObject даёт возможность вызывать методы JavaScript и проверять JavaScript-свойства.
    Любые данные JavaScript, перенесённые в Java, конвертируются в типы данных Java. Когда JSObject передаётся обратно в JavaScript, объект декапсулируется и может использоваться в коде JavaScript. См. о деталях конверсии типов данных.

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

    Класс netscape.javascript.JSObject
    имеет следующие методы:

    Метод
    Описание
    Вызывает метод JavaScript.
    Определяет, ссылаются ли два объекта JSObject на один и тот же экземпляр. Вычисляет выражение JavaScript.
    Запрашивает значение свойства объекта в JavaScript. Запрашивает значение элемента массива объекта в JavaScript.

    Запрашивает свойство объекта в JavaScript. Устанавливает значение свойства объекта в JavaScript.
    Устанавливает значение элемента массива объекта в JavaScript. Конвертирует JSObject в строку.
    Класс netscape.javascript.JSObject имеет следующий статический/static метод:


    Метод
    Описание
    Получает JSObject для окна, содержащего данный аплет.
    В последующих разделах рассматривается объявление и использование этих методов.

    Label

    Предоставляет оператор с идентификатором, позволяющим ссылаться на этот оператор из break или continue.

    Реализован в JavaScript 1.2, NES 3.0 Версия ECMA ECMA 262, Edition 3

    Например, Вы можете использовать метку для идентификации цикла, а затем использовать операторы break или continue для прерывания или продолжения выполнения цикла.

    Синтаксис

    label :

    statement
    Параметр


    label

    Любой идентификатор JavaScript, кроме зарезервированного слова. statement Операторы. break может использоваться с любым помеченным оператором, а continue может использоваться с помеченными операторами цикла.

    Примеры

    Пример помеченного оператора, использующего , см. в . Пример помеченного оператора, использующего , см. в .

    См. также

    , .

    LastIndex

    Целочисленное read/write свойство, которое специфицирует индекс, с которого начинается поиск следующего совпадения.

    Свойство изЭкземпляры .Реализовано в
    JavaScript 1.2, NES 3.0Версия ECMA
    ECMA 262, Edition 3
    Описание

    lastIndex это свойство отдельного объекта регулярного выражения.
    Это свойство устанавливается, только если регулярное выражение использует флаг "g" для указания на глобальный поиск. Применяются следующие правила:
  • Если lastIndex больше, чем размер строки, regexp.test и regexp.exec терпят неудачу, а lastIndex устанавливается в 0.

  • Если lastIndex равен размеру строки и если регулярное выражение совпадает с пустой строкой, то регулярное выражение совпадает с вводом, начиная с lastIndex.

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

  • Иначе, lastIndex устанавливается в следующую позицию после самого последнего совпадение.

  • Например, рассмотрим последовательность следующих операторов:
    re = /(hi)?/g

    Совпадает с пустой строкой.
    re("hi") Возвращает ["hi", "hi"] с lastIndex, который равен 2.re("hi") Возвращает [""], пустой массив, чей нулевой элемент является совпавшей строкой. В данном случае это пустая строка, поскольку lastIndex был 2 (и всё ещё равен 2), а "hi" имеет размер 2.

    LastIndexOf

    Внутри вызывающего String-объекта возвращает индекс первого появления специфицированного значения, или с -1, если значение не найдено. Поиск в вызывающей строке идёт в обратном направлении, начиная с fromIndex.

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

    Синтаксис

    lastIndexOf(searchValue[, fromIndex])
    Параметры


    searchValue

    Срока - значение для поиска.
    fromIndex Место в вызывающей строке, с которого начинается поиск. Это может быть целое число в диапазоне от 0 и до конца строки. Значение по умолчанию - длина строки.

    Описание

    Символы в строке индексируются слева направо. Индекс первого символа 0, а индекс последнего символа строки, называемый StringName, это StringName.length - 1.
    "canal".lastIndexOf("a") // возвращает 3

    "canal".lastIndexOf("a",2) // возвращает 1

    "canal".lastIndexOf("a",0) // возвращает -1

    "canal".lastIndexOf("x") // возвращает -1
    Метод lastIndexOf чувствителен к регистру. Например, следующее выражение вернёт -1:
    "Blue Whale, Killer Whale".lastIndexOf("blue")
    Примеры

    Этот пример использует indexOf и lastIndexOf для локализации значений в строке "Brave new world."
    var anyString="Brave new world"
    // Отображает 8

    document.write("The index of the first w from the beginning is " +

    anyString.indexOf("w"))

    // Отображает 10

    document.write("The index of the first w from the end is " +

    anyString.lastIndexOf("w"))

    // Отображает 6

    document.write("The index of 'new' from the beginning is " +

    anyString.indexOf("new"))

    // Отображает 6

    document.write("The index of 'new' from the end is " +

    anyString.lastIndexOf("new"))

    См. также

    , , .

    Length

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

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

    Описание

    Значением свойства length является целое положительное число, меньшее, чем 2 в 32 степени (232).
    Вы можете установить свойство length
    для усечения массива в любой момент. Если Вы увеличиваете массив путём изменения его свойства length, реальное количество элементов не увеличивается; например, если Вы установите length
    в 3, когда текущее значение 2, массив будет по прежнему содержать 2 элемента.


    Примеры

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

    for (var i = 0; i < document.musicForm.musicType.length; i++) {

    if (document.musicForm.musicType.options[i].selected == true) {

    return document.musicForm.musicType.options[i].text

    }

    }

    }
    В этом примере массив statesUS
    укорачивается до размера 50, если его текущий размер больше, чем 50.
    if (statesUS.length > 50) {

    statesUS.length=50

    }

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

    Свойство из Реализовано вJavaScript 1.1 Версия ECMAECMA-262
    Описание

    length является внешним относительно функции и указывает, сколько аргументов функция ожидает. По контрасту, arguments.length является локальным относительно функции и предоставляет количество аргументов, реально передаваемых функции.

    Пример


    См. пример для .

    См. также

    .


    Длина строки.

    Свойство из Read-only\Только для Чтения Реализовано вJavaScript 1.0, NES 2.0 Версия ECMAECMA-262

    Описание

    Для null-строки length будет 0.

    Примеры

    Этот пример выводит 8 в диалоговом окне Alert:
    var x="Netscape"

    alert("The String length is " + x.length)


    Количество элементов Java-массиве, представленных объектом JavaArray.

    Свойство из Реализовано вJavaScript 1.1, NES 2.0


    Описание

    В отличие от Array.length, JavaArray.length
    это свойство только для чтения. Вы не можете изменить значение свойства JavaArray.length, поскольку массивы Java имеют фиксированное количество элементов.


    См. также

    .

    Link

    Создаёт гипертекстовую ссылку HTML, которая запрашивает другой URL.

    Метод из Реализован вJavaScript 1.0, NES 2.0

    Синтаксис

    link(hrefAttribute)
    Параметры


    hrefAttribute

    Любая строка, специфицирующая атрибут HREF тэга A; это должен быть верный URL (относительный или абсолютный).

    Описание

    Используйте метод link для создания программно гипертекстовой ссылки, затем вызовите методы write или writeln для отображения ссылки в документе. В серверном JavaScript используйте для отображения строки функцию write.
    Ссылки, созданные методом link, становятся элементами массива ссылок объекта document. См. document.links.

    Примеры



    Этот пример отображает слово "Netscape" как гипертекстовую ссылку, переводящую пользователя на домашнюю страницу Netscape:
    var hotText="Netscape"

    var URL="http://home.netscape.com"
    document.write("Click to return to " + hotText.link(URL))
    Вывод будет таким же, как и в нижеследующем HTML:
    Click to return to Netscape

    Натуральный логарифм от 10, приблизительно

    Натуральный логарифм от 10, приблизительно 2.302.
    Свойство из Static, Только-для-Чтения

    Реализовано вJavaScript 1.0, NES 2.0

    Версия ECMAECMA-262

    Пример


    Эта функция возвращает натуральный логарифм от 10:

    function getNatLog10() {

    return Math.LN10

    }

    Описание


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

    Натуральный логарифм от 2, приблизительно

    Натуральный логарифм от 2, приблизительно 0.693.
    Свойство из Static, Read-only Реализовано вJavaScript 1.0, NES 2.0

    Версия ECMAECMA-262

    Пример


    Эта функция возвращает натуральный логарифм от 2:

    function getNatLog2() {

    return Math.LN2

    }

    Описание


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

    Log

    Возвращает натуральный логарифм (база E) числа.

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

    Синтаксис

    log(x)
    Параметр


    x

    Число.

    Описание

    Если number имеет отрицательное значение, return-значение будет всегда NaN.
    Поскольку log это static-метод из Math, Вы всегда используете его так: Math.log(), а не как метод Math-объекта, созданного Вами.

    Пример

    Эта функция возвращает натуральный логарифм переменной x:
    function getLog(x) {

    return Math.log(x)

    }
    Если вы передаёте в getLog значение 10, он возвращает 2.302585092994046; если Вы передаёте значение 0, от возвращает -Infinity; если передаёте -1, возвращает NaN, поскольку -1 находится вне диапазона.

    См. также

    , .

    LOG10E

    База 10, логарифм E (приблизительно 0.434).

    Свойство из Static, Read-only Реализован вJavaScript 1.0, NES 2.0
    Версия ECMAECMA-262

    Пример

    Эта функция возвращает логарифм Е с базой 10:
    function getLog10e() {

    return Math.LOG10E

    }

    Описание

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

    LOG2E

    База 2, логарифм E (приблизительно 1.442).

    Свойство из Static, Только-для-Чтения
    Реализован вJavaScript 1.0, NES 2.0
    Версия ECMAECMA-262

    Пример

    Эта функция возвращает логарифм Е с базой 2:
    function getLog2e() {

    return Math.LOG2E
    }
    Описание

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

    Логические Операции

    Логические операции обычно используются с Boolean (логическими) значениями; если они имеются, они возвращают Boolean/Булево значение. Однако операции && и в действительности возвращают значение одного из специфицированных операндов, поэтому, если эти операции используются с не-Boolean значениями, они могут вернуть не-Boolean значение.
    Реализованы в JavaScript 1.0
    Версия ECMA ECMA-262

    Логические операции описаны в следующей таблице.

    Таблица 5.5 Логические Операции



    Операция
    Использование
    Описание &&expr1 && expr2 (Логическое И) Возвращает expr1, если может быть конвертировано в false; иначе, возвращает expr2. Таким образом, при использовании с Boolean-значениями && возвращает true, если оба операнда true; иначе возвращает false.
    expr1 expr2 (Логическое ИЛИ) Возвращает expr1, если может быть конвертировано в true; иначе, возвращает expr2. Таким образом, при использовании с Boolean-значениями возвращает true, если любой из операндов true; если оба false, возвращает false. !!expr (Логическое НЕ) Возвращает false, если его единственный операнд может быть конвертирован в true; иначе возвращает true.
    Примерами выражений, которые могут быть конвертированы в false, являются выражения, дающие при их вычислении null, 0, пустую строку ("") или undefined.
    Хотя операции&& и можно использовать с не-Boolean-значениями, их можно продолжать рассматривать как Boolean-операции, поскольку их return-значения всегда могут быть конвертированы в Boolean-значения.
    Сокращённый Цикл Вычисления.

    Поскольку логические выражения вычисляются слева направо, они тестируются на возможность "укороченного/short-circuit" вычисления по следующим правилам:
  • false && что-либо сокращённо вычисляется в false.

  • true что-либо сокращённо вычисляется в true.

  • Логические правила гарантируют, что эти вычисления всегда корректны. Обратите внимание, что часть что-либо не вычисляется, поэтому выполнение этого что-либо в качестве побочного эффекта никакого эффекта иметь не будет.

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



    JavaScript 1.0 и 1.1.

    Операции && и ведут себя так:

    Операция
    Поведение&& Если первый операнд (expr1) может быть конвертирован в false, операция && возвращает false вместо значения expr1. Если первый операнд (expr1) может быть конвертирован в true, операция возвращает true вместо значения expr1.

    Примеры

    Вот примеры применения операции && (логическое И):
    a1=true && true // t && t возвращает true

    a2=true && false // t && f
    возвращает false

    a3=false && true // f && t
    возвращает false

    a4=false && (3 == 4) // f && f
    возвращает false

    a5="Cat" && "Dog" // t && t
    возвращает Dog

    a6=false && "Cat" // f && t
    возвращает false

    a7="Cat" && false // t && f
    возвращает false
    А вот примеры применения операции (логическое ИЛИ):
    o1=true true // t t
    возвращает true

    o2=false true // f t
    возвращает true

    o3=true false // t f
    возвращает true

    o4=false (3 == 4) // f f
    возвращает false

    o5="Cat" "Dog" // t t
    возвращает Cat

    o6=false "Cat" // f t
    возвращает Cat

    o7="Cat" false // t f
    возвращает Cat
    Примеры применения операции ! (логическое НЕ):
    n1=!true // !t
    возвращает false

    n2=!false // !f
    возвращает true

    n3=!"Cat" // !t
    возвращает false



    Match

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

    Метод из Реализован вJavaScript 1.2 Версия ECMAECMA-262 Edition 3

    Синтаксис

    match(regexp)
    Параметры


    regexp

    имя регулярного выражения. Может быть именем переменной или литералом.

    Описание

    Если регулярное выражение не содержит флаг g, возвращается тот же самый результат, который RegExp.exec мог бы возвратить для регулярного выражения и строки. Если регулярное выражение содержит флаг g, возвращается массив всех совпадений регулярного выражения в строке.
    Примечание

    Если поиск совпадения производится только для получения значения true или false, используйте или метод test регулярного выражения.

    Примеры
    Пример 1.

    В этом примере match используется для нахождения 'Chapter' с последующими 1 или более цифровыми символами, с последующей десятичной точкой и цифровыми символами 0 или более раз. Регулярное выражение содержит флаг i, поэтому регистр игнорируется.

    Это возвращает массив, содержащий Chapter 3.4.5.1,Chapter 3.4.5.1,.1
    'Chapter 3.4.5.1' это первое совпадение и первое значение, запомненное из (Chapter \d+(\.\d)*).
    '.1' это второе значение, значение, запомненное из (\.\d).
    Пример 2.

    Этот пример демонстрирует использование флагов глобализации и игнорирования регистра с match.

    Возвращённый массив содержит D, d.
    prototype">

    Math

    Встроенный объект, содержащий методы и свойства математических констант и функций. Например, в объекте Math свойство имеет значение pi.


    Объект ядра Реализован вJavaScript 1.0, NES 2.0 Версия ECMAECMA-262


    Создание

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


    Описание

    Все свойства и методы объекта Math являются статическими/static. Вы обращаетесь к константе PI как Math.PI и можете вызывать функцию синуса как Math.sin(x), где x это аргумент метода. Константы определены с полной точностью вещественных чисел в JavaScript.
    Часто бывает удобно использовать оператор , когда раздел кода использует несколько констант и методов Math, тогда нет необходимости вводить "Math" каждый раз. Например,
    with (Math) {
    a = PI * r*r
    y = r*sin(theta)

    x = r*cos(theta)
    }


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



    Свойство
    Описание
    Константа Эйлера и база натуральных логарифмов, приблизительно 2.718. Натуральный логарифм из 2, приблизительно 0.693. Натуральный логарифм из 10, приблизительно 2.302. С базой 2, логарифм E (приблизительно 1.442). С базой 10, логарифм E (приблизительно 0.434). Отношение окружности к диаметру, приблизительно 3.14159. Квадратный корень из 1/2; приблизительно 0.707. Квадратный корень из 2, приблизительно 1.414.

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



    Метод
    Описание
    Возвращает абсолютное значение числа. Возвращает арккосинус числа (в радианах). Возвращает арксинус числа (в радианах). Возвращает арктангенс числа (в радианах). Возвращает арктангенс частного аргументов. Возвращает наименьшее целое число, больше или равное данному числу. Возвращает косинус числа. Возвращает Enumber, где number это аргумент, а E константа Эйлера, база натуральных логарифмов. Возвращает наибольшее целое, меньше или равное данному числу. Возвращает натуральный логарифм (база E) числа. Возвращает большее из двух чисел. Возвращает меньшее из двух чисел. Возвращает base степени exponent, то есть, baseexponent. Возвращает псевдослучайное число в диапазоне от 0 до 1. Возвращает значение числа, округлённого до ближайшего целого. Синус числа. Квадратный корень числа. Тангенс числа.
    Кроме того, этот объект наследует методы и из .

    MAX_VALUE

    Максимальное числовое значение, представимое в JavaScript.

    Свойство из Static, Read-onlyРеализовано в
    JavaScript 1.1, NES 2.0 Версия ECMAECMA-262
    Описание

    Свойство MAX_VALUE имеет значение приблизительно 1.79E+308. Значения, больше чем MAX_VALUE, представляются как "Infinity".
    Поскольку MAX_VALUE это static-свойство в Number, Вы всегда используете его так: Number.MAX_VALUE, а не как свойство созданного Вами Number-объекта.
    Примеры


    Следующий код перемножает два числа. Если результат меньше или равен MAX_VALUE, вызывается функция func1; иначе, вызывается функция func2.
    if (num1 * num2 <= Number.MAX_VALUE)

    func1()

    else

    func2()

    Max

    Возвращает наибольшее из двух чисел.

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

    Синтаксис

    max(x,y)
    Параметры


    x, y

    Числа.

    Описание

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

    Пример

    Эта функция вычисляет переменные x и y:
    function getMax(x,y) {

    return Math.max(x,y)

    }
    Если Вы передаёте в getMax
    значения 10 и 20, он возвращает 20; если передаёте значения -10 и -20, возвратит -10.
    См. также

    .

    MIN_VALUE

    Наименьшее положительное числовое значение, представимое в JavaScript.

    Свойство из Static, Read-onlyРеализовано в JavaScript 1.1, NES 2.0 Версия ECMAECMA-262
    Описание

    Свойство MIN_VALUE
    это ближайшее к 0 число, не отрицательное, которое JavaScript может представить.
    MIN_VALUE имеет значение приблизительно 5e-324. Значения меньшие, чем MIN_VALUE ("underflow\подводные-значения"), конвертируются до 0.
    Поскольку MIN_VALUE это static-свойство в Number, Вы всегда используете его так: Number.MIN_VALUE, а не как свойство созданного Вами Number-объекта.
    Примеры


    Этот код делит два числа. Если результат меньше или равен MIN_VALUE, вызывается функция func1; иначе, вызывается функция func2.
    if (num1 / num2 >= Number.MIN_VALUE)

    func1()

    else

    func2()

    Min

    Возвращает наименьшее из двух чисел.

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

    min(x,y)
    Параметры


    x, y

    Числа.

    Описание

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

    Пример

    Эта функция вычисляет переменные x и y:
    function getMin(x,y) {

    return Math.min(x,y)

    }
    Если Вы передаёте в getMin
    значения 10 и 20, он возвратит 10; если передаёте значения -10 и -20, он возвратит -20.

    См. также

    .
    PI">

    Multiline

    Указывает, искать ли в строках по нескольким строкам текста.

    Свойство из Экземпляры . StaticРеализовано в JavaScript 1.2, NES 3.0Версия ECMA
    ECMA 262, Edition 3
    Описание

    multiline это свойство отдельного объекта регулярного выражения.
    Значение multiline равно true, если был использован флаг "m"; иначе, false. Флаг "m" указывает, что многострочная строка ввода должна рассматриваться как несколько строк. Например, если используется "m", "^" и "$" изменяются с начала и конца целой строки на начало и конец любой строки внутри строки (ввода).
    Вы не можете изменить это свойство явно.

    NaN

    Специальное значение Not-A-Number/Не-Число. Это значение представляется как литерал NaN без кавычек.

    Свойство из Read-only
    Реализовано в
    JavaScript 1.1, NES 2.0 Версия ECMAECMA-262
    Описание

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


    Если month имеет значение больше 12, оно становится NaN, и выводится сообщение, показывающее верные значения.
    var month = 13

    if (month < 1 month > 12) {

    month = Number.NaN

    alert("Month must be between 1 and 12.")

    }

    См. также

    , , , .

    NEGATIVE_INFINITY

    Специальное числовое значение - отрицательная бесконечность. Это значение представляется как литерал "-Infinity"
    без кавычек.
    Свойство из
    Static, Read-only
    Реализовано вJavaScript 1.1, NES 2.0
    Версия ECMA ECMA-262

    Описание

    Это значение ведёт себя несколько иначе, чем математическая бесконечность:
  • Любое положительное значение, включая POSITIVE_INFINITY, умноженное на NEGATIVE_INFINITY, является NEGATIVE_INFINITY.
  • Любое отрицательное значение, включая NEGATIVE_INFINITY, умноженное на NEGATIVE_INFINITY, является POSITIVE_INFINITY.
  • Нуль, умноженный на NEGATIVE_INFINITY, является NaN.
  • NaN, умноженный на NEGATIVE_INFINITY, является NaN.
  • NEGATIVE_INFINITY, разделённое на отрицательное значение, за исключением NEGATIVE_INFINITY, является POSITIVE_INFINITY.
  • NEGATIVE_INFINITY, разделённое на положительное значение, за исключением POSITIVE_INFINITY, является NEGATIVE_INFINITY.
  • NEGATIVE_INFINITY, разделённое на NEGATIVE_INFINITY
    или на POSITIVE_INFINITY, является NaN.
  • Любое число, разделённое на NEGATIVE_INFINITY, является Нулём.

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


    Здесь переменной smallNumber
    присваивается значение, которое меньше минимального значения. Если выполняется оператор if, smallNumber имеет значение "-Infinity", поэтому вызывается функция func1.
    var smallNumber = -Number.MAX_VALUE*10

    if (smallNumber == Number.NEGATIVE_INFINITY)

    func1()

    else

    func2()

    См. также

    ,
    .

    Netscape

    Объект верхнего уровня, используемый для доступа к любому Java-классу в пакете netscape.*.


    Объект ядра Реализован в JavaScript 1.1, NES 2.0


    Создание


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

    Описание

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


    См. также

    , .

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Любой класс из Java-пакета netscape.*.

    Свойство из Реализовано в JavaScript 1.1, NES 2.0

    Синтаксис

    Packages.netscape
    Описание

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


    См. примеры для
    .

    New

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

    Реализована вJavaScript 1.0
    Версия ECMAECMA-262

    Синтаксис

    objectName = new objectType (param1 [,param2] ...[,paramN])


    Параметры

    objectName

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

    Описание

    Создание определяемого пользователем типа объектов проходит в два шага:
  • Определяется тип объекта путём написания функции.

  • Создаётся экземпляр объекта с помощью оператора new.

  • Чтобы определить тип объекта, создайте функцию для этого типа объекта, которая специфицирует его имя, свойства и методы. Объект может иметь свойство, которое само является объектом. См. далее примеры.
    Вы всегда можете добавить свойство к ранее определённому объекту. Например, оператор car1.color = "black" добавляет свойство color в car1
    и присваивает ему значение "black". Однако это не влияет на другие объекты. Чтобы добавить свойство ко всем объектам того же типа, Вы обязаны добавить свойство в определение типа объекта car.
    Вы можете добавить свойство к ранее определённому объекту
    путём использования свойства . Оно определяет свойство, которое используется совместно всеми объектами, созданными данной функцией, а не только отдельным экземпляром этого типа объекта. Следующий код добавляет свойство color всем объектам типа car, а затем присваивает значение свойству color объекта car1.
    Дополнительно см. .
    Car.prototype.color=null

    car1.color="black"

    birthday.description="The day you were born"


    Примеры


    Пример 1:

    Тип объекта и экземпляр объекта. Предположим, Вы хотите создать тип объекта для автомобилей. Вы хотите назвать это тип car
    и Вы хотите, чтобы он имел свойства make, model и year. Для выполнения этого Вы можете написать следующую функцию:
    function car(make, model, year) {

    this.make = make

    this.model = model

    this.year = year

    }
    Теперь Вы можете создать объект под названием mycar
    таким образом:
    mycar = new car("Eagle", "Talon TSi", 1993)
    Этот оператор создаёт mycar
    и присваивает его свойствам специфицированные значения. Теперь значением mycar.make
    является строка "Eagle", а mycar.year - это целое число 1993, и так далее.
    Вы можете создать любое количество объектов типа car через вызов new. Например:
    kenscar = new car("Nissan", "300ZX", 1992)
    Пример 2:

    Свойство объекта, которое само является объектом. Предположим, Вы определяете объект под названием person:
    function person(name, age, sex) {

    this.name = name

    this.age = age

    this.sex = sex

    }
    и создаёте два экземпляра person-объектов:
    rand = new person("Rand McNally", 33, "M")

    ken = new person("Ken Jones", 39, "M")
    затем Вы можете переписать определение типа car
    для включения в него свойства owner, которое принимает person-объект:
    function car(make, model, year, owner) {

    this.make = make;

    this.model = model;

    this.year = year;

    this.owner = owner;

    }
    Чтобы создать новые экземпляры объекта, Вы пишете:
    car1 = new car("Eagle", "Talon TSi", 1993, rand);

    car2 = new car("Nissan", "300ZX", 1992, ken)
    Вместо передачи строкового литерала или целочисленного значения при создании новых объектов, предыдущие операторы передают объекты rand
    и ken в качестве параметров для owners. Чтобы найти имя владельца машины car2, Вы можете получить доступ к свойству:
    car2.owner.name

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

    В JavaScript версии 1.5 имеются следующие новые возможности и улучшения:
  • Ошибки времени выполнения. Ошибки времени выполнения теперь сообщаются как исключения.
  • Улучшенное форматирование чисел. Включены методы Number.prototype.toExponential, Number.protoytpe.toFixed
    и Number.prototype.toPrecision. См. ссылки , и .
  • Регулярные выражения:

  • "Жадные" квантификаторы +, *, ? и {} могут иметь после себя ? для форсирования их в не-жадные.
  • Неохватывающие скобки (?:x) могут использоваться вместо охватывающих скобок (x). Если используются неохватывающие скобки, совпадающие подвыражения не доступны как обратные ссылки/back-references.
  • Поддерживаются положительные и отрицательные утверждения. И те, и другие утверждают совпадение, в зависимости от того, что идёт после совпадающей строки. .
  • Флаг m добавлен для специфицирования того, что регулярное выражение должно совпадать с несколькими строками. .


  • Обявление условных функций. Функции могут теперь объявляться в if. .
  • Функции выражений. Функции могут теперь объявляться внутри выражения.
  • Несколько операторов catch. Поддерживается наличие нескольких catch
    в операторе try...catch.
  • Константы. Поддерживаются именованные константы только-для-чтения. Эта возможность имеется только в C-реализации JavaScript.
  • Getter'ы и Setter'ы. JavaScript writer'ы могут теперь добавлять getter и setter методы к своим объектам. Эта возможность имеется только в C-реализации JavaScript. См. в Главе 7 в книге "Ядро JavaScript. Руководство по Использованию".

    Number

    Даёт возможность работать с числовыми значениями. Объект Number это оболочка/капсула объекта для примитивных числовых значений.

    Объект ядра Реализован вJavaScript 1.1, NES 2.0
    JavaScript 1.2: модифицировано поведение конструктора Number.
    JavaScript 1.3: добавлен метод .
    JavaScript 1.5, NES 6.0: добавлены методы ,
    и . Версия ECMAECMA-262




    Создание


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

    new Number(value)
    Параметр

    value

    Числовое значение создаваемого объекта.
    Описание

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

  • Свойства Number это свойства самого класса, а не отдельных объектов Number.

    JavaScript 1.2:

    Number(x) теперь даёт NaN, а не ошибку, если x это строка, не содержащая правильно сформированный числовой литерал.
    Например,
    x=Number("three");
    document.write(x + "
    ");
    печатает NaN.
    Вы можете конвертировать любой объект в число, используя функцию верхнего уровня .


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


    Свойство
    Описание
    Специфицирует функцию, создающую прототип объекта. Наибольшее представляемое число. Наименьшее представляемое число.
    Специальное значение "not a number".
    Специальное значение, представляющее отрицательную бесконечность; возвращается при переполнении.
    Специальное значение, представляющее бесконечность; возвращается при переполнении.
    Позволяет добавлять свойства к Number-объекту.



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

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

    Примеры



    Пример 1.

    Свойства объекта Number для присвоения значений различным числовым переменным:
    biggestNum = Number.MAX_VALUE;

    smallestNum = Number.MIN_VALUE;

    infiniteNum = Number.POSITIVE_INFINITY;

    negInfiniteNum = Number.NEGATIVE_INFINITY;

    notANum = Number.NaN;

    Пример 2.

    Создаётся Number-объект , myNum, затем добавляется свойство description ко всем Number-объектам . Затем значение присваивается свойству description объекта myNum.
    myNum = new Number(65);

    Number.prototype.description=null;

    myNum.description="wind speed";

    Object

    Object это примитивный тип объекта в JavaScript. Все объекты JavaScript являются потомками от Object. То есть, все JavaScript-объекты имеют методы, определённые в Object.
    toExponential
    toPrecision

    Объект ядраРеализован в
    JavaScript 1.0: метод toString.
    JavaScript 1.1, NES 2.0: добавлены методы eval и valueOf; свойство constructor.
    JavaScript 1.2: не рекомендуется использовать метод .
    JavaScript 1.3: добавлен метод .
    JavaScript 1.4: удалён метод .
    Версия ECMA ECMA-262

    Создание



    Object-конструктор:


    new Object()

    Параметры

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

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


    Свойство
    Описание
    Специфицирует функцию, которая создаёт прототип объекта.
    Позволяет добавлять свойства для всех объектов.

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


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

    Удаляет контрольную точку для свойства объекта.

    Возвращает примитивное значение специфицированного объекта.

    Добавляет контрольную точку для свойства объекта.

    Операции Присвоения

    Операция присвоения присваивает левому операнду значение правого операнда.
    Реализована в JavaScript 1.0
    Версия ECMAECMA-262

    Базовая операция присвоения - знак равенства (=), который присваивает левому операнду значение правого операнда. То есть, x = y присваивает значение y значению x. Другие операции присвоения являются обычно сокращениями стандартных операций, как показано в таблице.
    Таблица 5.2 Операции Присвоения

    Сокращённая Операция
    Значениеx += yx = x + y x -= yx = x - y x *= yx = x * y x /= yx = x / y x %= yx = x % y x <<= yx = x << y x >>= yx = x >> y x >>>= yx = x >>> y x &= yx = x & y x ^= yx = x ^ y x |= yx = x | y В нестандартных ситуациях операция присвоения не имеет идентичного значения из колонки Значение из . Если левый операнд операции присвоения сам содержит операцию присвоения, левый операнд вычисляется только однократно. Например:
    a[i++] += 5 //i вычисляется только один раз

    a[i++] = a[i++] + 5 //i вычисляется дважды

    Операции Сравнения

    Операция сравнения сравнивает свои операнды и возвращает логическое значение, базируясь на верности /true сравнения.
    Реализована вJavaScript 1.0
    JavaScript 1.3: добавлены операции === и !==
    JavaScript 1.4: == не рекомендуется для сравнения двух объектов JSObject. Используйте метод .
    Версия ECMAECMA-262 содержит все операции сравнения, кроме === и !==
    Версия ECMA-262 Edition 3 добавляет === и !==

    Операнды могут иметь числовое или строковое значение. Строки сравниваются на базе стандартного лексикографического упорядочивания с использованием значений Unicode.
    Boolean-значение возвращается как результат сравнения:
  • Две строки равны, если они имеют одинаковые последовательности символов, один размер и одинаковые символы в соответствующих позициях.

  • Два числа равны, если они численно равны (имеют одно числовое значение). NaN не равно ничему, включая NaN. Положительные и отрицательные нули равны.

  • Два объекта равны, если они ссылаются на один и тот же Object.

  • Два Булевых операнда равны, если они оба true или false.

  • Типы Null и Undefined являются == (но не ===).

  • В следующей таблице даны операции сравнения.

    Таблица5.3 Операции Сравнения


    Операция
    Описание
    Примеры, возвращающие true
    Равно (==)Возвращает true, если операнды равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды к одному типу для сравнения.3 == var1
    "3" == var1
    3 == '3'
    Не равно (!=) Возвращает true, если операнды не равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды к одному типу для сравнения.var1 != 4
    var1 != "3"
    Строго равно (===)Возвращает true, если операнды равны и одного типа.3 === var1
    Строго не равно (!==)Возвращает true, если операнды не равны и/или разных типов.var1 !== "3"

    3 !== '3'
    Больше чем (>)Возвращает true, если левый операнд больше, чем правый операнд.var2 > var1
    Больше или равно (>=)Возвращает true, если левый операнд больше чем или равен правому операнду.var2 >= var1
    var1 >= 3
    Меньше чем (<)Возвращает true, если левый операнд меньше, чем правый операнд.var1 < var2
    Меньше чем или равно (<=)Возвращает true, если левый операнд меньше чем или равен правому операнду. var1 <= var2
    var2 <= 5

    В этих примерах предполагается, что переменной var1
    присваивается значение 3, а переменной var2 присваивается значение 4.



    Использование Операций Равенства


    Стандартные операции сравнения (== и !=) сравнивают два операнда, независимо от их типа.

    Операции строгого равенства (=== и !==) выполняют сравнение равенства операндов одного типа. Используйте операции строгого равенства, если операнды обязаны быть специфического типа и значения или если важен точный тип операндов. Иначе, используйте стандартные операции равенства, которые позволяют проверить идентичность двух операндов, даже если они имеют разные типы.
    Если нужна конверсия типа, JavaScript конвертирует операнды типов String, Number, Boolean
    или Object таким образом:
  • При сравнении числа и строки, строка конвертируется в числовое значение. JavaScript пытается конвертировать строковой числовой литерал в значение типа Number. Сначала математическое значение получается из строкового числового литерала. Затем это значение округляется до ближайшего значения типа Number.

  • Если один из операндов имеет тип Boolean, он конвертируется в 1, если он true, и в +0, если он false.

  • Если объект сравнивается с несколькими строками, JavaScript пытается возвратить значение по умолчанию для этого объекта.

  • Операции пытаются конвертировать объект в примитивное значение, String
    или Number, используя методы valueOf и toString объекта. Если эта попытка конвертации не удаётся, генерируется ошибка времени выполнения.
    Вы не можете использовать стандартную операцию равенства (==) для сравнения экземпляров JSObject. Для таких сравнений используйте метод .

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

    Поведение стандартных операций равенства (== и !=) зависит от версии JavaScript.
    JavaScript 1.3 и более ранние.

    Можно использовать стандартную операцию равенства (==) или для сравнения экземпляров JSObject.
    JavaScript 1.2.

    Стандартные операции равенства (== и !=) не выполняют конверсию типов перед выполнением сравнения. Операции строгого равенства (=== и !==) недоступны.

    JavaScript 1.1 и более ранние.

    Стандартные операции равенства (== и !=) выполняют конверсию типов до выполнения сравнения.
    Операции строгого равенства (=== и !==) недоступны.

    , (Операция "запятая")

    Операция "запятая" вычисляет оба операнда и возвращает значение второго операнда.

    Реализована вJavaScript 1.0
    Версия ECMAECMA-262

    Синтаксис

    expr1, expr2


    Параметры

    expr1, expr2

    Любые выражения.

    Описание

    Вы можете использовать операцию "запятая", если хотите включить несколько выражений в том месте, где требуется одно выражение. Наиболее обычное использование этой операции - поддержка нескольких параметров в цикле .
    Например, если a это 2-мерный массив с 10 элементами по измерению, то следующий код использует операцию "запятая" для инкремента двух переменных за один проход. Код печатает значения элементов по диагонали массива:
    for (var i=0, j=9; i <= 9; i++, j--)

    document.writeln("a["+i+","+j+"]= " + a[i,j])



    Pakages

    Объект верхнего уровня, используемый для доступа к Java-классам из кода JavaScript.

    Объект ядра Реализован вJavaScript 1.1, NES 2.0


    Создание

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

    Описание

    Объект Packages даёт доступ к public-методам и полям произвольного Java-класса из JavaScript. Свойства java, netscape и sun представляют пакеты java.*, netscape.* и sun.*, соответственно. Используйте стандартную нотацию точкой Java для доступа к классам, методам и полям этих пакетов. Например, Вы можете иметь доступ к конструктору класса Frame:
    var theFrame = new Packages.java.awt.Frame();
    Для удобства, JavaScript предоставляет объекты верхнего уровня netscape, sun
    и java, которые являются синонимами свойств Packages
    с теми же именами. Соответственно, Вы может получить доступ к Java-классам этих пакетов без ключевого слова Packages:
    var theFrame = new java.awt.Frame();
    Свойство className представляет полное квалифицированное имя любого Java-класса, доступного в JavaScript. Вы обязаны использовать объект Packages для доступа к классам вне пакетов netscape, sun и java.


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



    Свойство
    Описание Полное квалифицированное имя Java-класса в пакетах, кроме пакетов netscape, java
    или sun, доступного в JavaScript.
    Любой класс в Java-пакете java.* Любой класс в Java-пакете netscape.*
    Любой класс в Java-пакете sun.*

    Примеры


    Эта JavaScript-функция создаёт диалоговый бокс
    Java:
    function createWindow() {

    var theOwner = new Packages.java.awt.Frame();

    var theWindow = new Packages.java.awt.Dialog(theOwner);

    theWindow.setSize(350,200);

    theWindow.setTitle("Hello, World");

    theWindow.setVisible(true);

    }
    В это примере функция создаёт экземпляр theWindow
    как новый Packages-объект. Методы setSize, setTitle и setVisible доступны в JavaScript как public-методы из java.awt.Dialog.

    Parse

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

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

    Синтаксис

    Date.parse(dateString)
    Параметры


    dateString

    Строка, представляющая дату.

    Описание

    Метод parse принимает строку с датой (например, "Dec 25, 1995") и возвращает количество миллисекунд, прошедшее после 1 января 1970 год, 00:00:00 (местного времени). Эта функция используется для установки значений даты на базе строковых значений, например, в соединении с методом Date-объектом.
    Для заданной строки, представляющей время, parse возвращает значение времени. Он принимает стандартный синтаксис времени IETF: "Mon, 25 Dec 1995 13:30:00 GMT". Он понимает континентальные сокращения часовых поясов США, но, для общего использования, употребляйте смещение часового пояса, например, "Mon, 25 Dec 1995 13:30:00 GMT+0430" (4 часа, 30 минут к западу от Greenwich-меридиана). Если Вы не специфицируете часовой пояс, принимается местное/локальное время. GMT и UTC рассматриваются как эквиваленты.
    Поскольку parse это static-метод объекта Date, всегда используйте его как Date.parse(), а не как метод Date-объекта, созданного Вами.
    Примеры

    Если IPOdate является существующим Date-объектом, Вы можете установить его в 9 августа 1995 года так:
    IPOdate.setTime(Date.parse("Aug 9, 1995"))
    См. также

    .

    PI

    Отношение длины окружности к её диаметру, приблизительно 3.14159.

    Свойство из Static, Read-only Реализовано вJavaScript 1.0, NES 2.0
    Версия ECMAECMA-262

    Примеры

    Эта функция возвращает значение pi:
    function getPi() {

    return Math.PI

    }

    Описание

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

    Побитовые Логические Операции



    Реализованы вJavaScript 1.0
    Версия ECMAECMA-262
    Концептуально логические побитовые операции работают так:
  • Операнды конвертируются до 32-битных целых и выражаются последовательностью битов (нулей и единиц).

  • Каждый бит первого операнда сравнивается с соответствующим битов второго операнда: первый бит с первым, второй со вторым, и так далее.

  • Операция применяется к каждой паре битов, и результат конструируется в битах.

  • Например, 1001 это двоичное представление десятеричной цифры 9, а 1111 - цифры 15.

    Итак, если побитовые операции применить к этим значениям, результаты будут такими:
  • 15 & 9 даст 9 (1111 & 1001 = 1001)
  • 15 | 9 даст 15 (1111 | 1001 = 1111)
  • 15 ^ 9 даст 6 (1111 ^ 1001 = 0110)


  • Побитовые Операции Сдвига


    Реализованы вJavaScript 1.0
    Версия ECMAECMA-262

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

    Побитовые Операции

    Побитовые операции рассматривают свои операнды как наборы 32-битных значений (нулей и единиц), а не как десятеричные, 16-ричные или 8-ричные числа. Например, десятеричное число 9 имеет двоичное представление 1001. Побитовые операции выполняют свои операции с такими двоичными представлениями, но возвращают стандартные числовые значения JavaScript.
    В таблице дано резюме по битовым операциям JavaScript:

    Таблица 5.4 Побитовые Операции



    Операция
    Использование
    ОписаниеПобитовое Иa & bВозвращает 1 в каждой битовой позиции, в которой соответствующие биты обоих операндов равны 1. Побитовое ИЛИa | b Возвращает 1 в каждой битовой позиции, в которой соответствующий бит одного или обоих операндов равен 1.
    Побитовое исключающее ИЛИa ^ b Возвращает 1 в каждой битовой позиции, в которой соответствующий бит одного, но не обоих операндов, равен 1.
    Побитовое НЕ~ aИнвертирует биты операндов. Сдвиг влевоa << b Сдвигает a в двоичном представлении на b битов влево, заполняя справа нулями. Сдвиг вправо с сохранением знакаa >> b Сдвигает a в двоичном представлении на b битов вправо, отбрасывая смещённые биты.
    Сдвиг вправо с заполнением нулямиa >>> bСдвигает a в двоичном представлении на b битов вправо, отбрасывая смещённые биты и заполняя слева нулями.

    Pop

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

    Метод из Реализован вJavaScript 1.2, NES 3.0
    Версия ECMA ECMA-262 Edition 3

    Синтаксис

    pop()

    Параметры

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

    Пример


    Следующий код создаёт массив myFish, содержащий 4 элемента, затем удаляет последний элемент.
    myFish = ["angel", "clown", "mandarin", "surgeon"];

    popped = myFish.pop();
    См. также

    , ,

    POSITIVE_INFINITY

    Специальное значение, представляющее бесконечность. Представляется как литерал "Infinity" без кавычек.

    Свойство из Static, Read-onlyРеализован в JavaScript 1.1, NES 2.0 Версия ECMAECMA-262
    Описание

    Это значение ведёт себя несколько иначе, чем математическая Бесконечность:
  • Любое положительное значение, включая POSITIVE_INFINITY, умноженное на POSITIVE_INFINITY, является POSITIVE_INFINITY.

  • Любое отрицательное значение, включая NEGATIVE_INFINITY, умноженное на POSITIVE_INFINITY, является NEGATIVE_INFINITY.

  • Нуль, умноженный на POSITIVE_INFINITY, является NaN.

  • NaN, умноженное на POSITIVE_INFINITY, является NaN.

  • POSITIVE_INFINITY, разделённое на любое отрицательное значение, за исключением NEGATIVE_INFINITY, является NEGATIVE_INFINITY.

  • POSITIVE_INFINITY, разделённое на любое положительное значение, за исключением POSITIVE_INFINITY, является POSITIVE_INFINITY.

  • POSITIVE_INFINITY, делённое на NEGATIVE_INFINITY
    или на POSITIVE_INFINITY, является NaN.

  • Любое число, делённое на POSITIVE_INFINITY, является Нулём.

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

    Переменной bigNumber
    присваивается значение, которое больше максимального значения. Если выполняется оператор if, bigNumber имеет значение "Infinity", поэтому вызывается функция func1.
    var bigNumber = Number.MAX_VALUE * 10

    if (bigNumber == Number.POSITIVE_INFINITY)

    func1()

    else

    func2()

    См. также

    ,
    .

    Pow

    Возвращает base для степени exponent, то есть, baseexponent.

    Метод из Static Реализован вJavaScript 1.0, NES 2.0 Версия ECMAECMA-262
    Синтаксис
    pow(x,y)
    Параметры

    base

    Число базы.exponentЭкспонента, на которую увеличивается base.

    Описание

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

    Примеры


    function raisePower(x,y) {

    return Math.pow(x,y)

    }
    Если x равен 7 и y равен 2, raisePower
    возвратит 49 (7 в степени 2).


    См. также

    , .

    JavaScript это разработанный Netscape межплатформенный

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






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

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


    abstract
    boolean
    break
    byte
    case
    catch
    char
    class
    const

    continue
    debugger
    default
    delete
    do
    double

    else
    enum
    export
    extends
    false
    final
    finally
    float
    for
    function

    goto
    if
    implements
    import
    in

    instanceof
    int
    interface
    long
    native
    new
    null
    package
    private
    protected

    public
    return
    short
    static
    super

    switch
    synchronized
    this
    throw
    throws
    transient
    true
    try
    typeof

    var
    void
    volatile
    while
    with



    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Prototype

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

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

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

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


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

    Свойство из Реализован вJavaScript 1.1, NES 2.0 Версия ECMAECMA-262
    Описание

    Вы можете добавлять новые свойства и методы в существующий класс, добавляя их к прототипу, ассоциированному с функцией constructor данного класса. Синтаксис добавления нового свойства или метода таков:
    fun.prototype.name = value
    где

    fun

    Имя объекта функции constructor, который Вы хотите изменить.
    nameИмя создаваемого свойства или метода.
    value Начальное значение нового свойства или метода .
    Если Вы добавляете свойство к прототипу объекта, все объекты, создаваемые функцией constructor этого объекта будут иметь это новое свойство, даже если объекты существовали до создания нового свойства. Например, предположим, мы имеем такие операторы:
    var array1 = new Array();

    var array2 = new Array(3);

    Array.prototype.description=null;

    array1.description="Contains some stuff"

    array2.description="Contains other stuff"
    После того как Вы установили свойство для прототипа, все последующие объекты, созданные с Array, будут иметь это свойство:
    anotherArray=new Array()

    anotherArray.description="Currently empty"
    Пример


    В этом примере создаётся метод str_rep и используется оператор String.prototype.rep = str_rep для добавления метода ко всем объектам . Все объекты, созданные с помощью new String(), будут иметь этот метод, даже объекты, созданные ранее. Затем создаётся другой метод и добавляется к одному из объектов через использование оператора s1.rep = fake_rep. Метод str_rep
    остальных объектов не изменяется.
    var s1 = new String("a")

    var s2 = new String("b")

    var s3 = new String("c")
    // Создаётся метод repeat-string-N-times для всех String-объектов

    Function str_rep(n) {

    var s = "", t = this.toString()

    while (--n >= 0) s += t

    return s

    }
    String.prototype.rep = str_rep
    s1a=s1.rep(3) //
    возвращает "aaa"

    s2a=s2.rep(5) //
    возвращает "bbbbb"

    s3a=s3.rep(2) // возвращает "cc"
    // Создаёт другой метод и назначает его только одной переменной String

    Function fake_rep(n) {

    return "repeat " + this + " " + n + " times."

    }
    s1.rep = fake_rep

    s1b=s1.rep(1) //
    возвращает "repeat a 1 times."

    s2b=s2.rep(4) //
    возвращает "bbbb"

    s3b=s3.rep(6) //
    возвращает "cccccc"
    Функция из этого примера работает также с объектами , не созданными с помощью конструктора Следующий код возвращает "zzz".
    "z".rep(3)
    toSource">


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

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


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

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


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

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


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

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

    Push

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


    Метод из Реализован вJavaScript 1.2, NES 3.0
    JavaScript 1.3: push
    возвращает новый размер массива до того, как последний элемент будет добавлен к массиву. Версия ECMA ECMA-262 Edition 3

    Синтаксис

    push(element1, ..., elementN)


    Параметр


    element1, ...,

    elementN

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

    Описание

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


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



    JavaScript 1.2.

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

    Пример

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

    pushed = myFish.push("drum", "lion");
    См. также

    , ,

    Random

    Возвращает псевдослучайное число в диапазоне от 0 до 1. Генератор случайных чисел работает от текущего времени, как в Java.

    Метод из Static Реализован вJavaScript 1.0, NES 2.0: только Unix.
    JavaScript 1.1, NES 2.0: все платформы. Версия ECMAECMA-262
    Синтаксис
    random()
    Параметры

    Отсутствуют.
    Описание

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

    Пример

    //Возвращает случайное число в диапазоне от 0 до 1

    function getRandom() {

    return Math.random()

    }

    RegExp

    Объект регулярного выражения, содержит патэрн регулярного выражения. Имеет свойства и методы для использования этого регулярного выражения для поиска и замены совпадений в строках.
    В дополнение к свойствам отдельного объекта регулярного выражения, который Вы создаёте и использованием функции конструктора RegExp, предопределённый объект RegExp
    имеет static-свойства, которые устанавливаются всегда, когда используется какое-либо регулярное выражение.

    Объект ядраРеализован в
    JavaScript 1.2, NES 3.0
    JavaScript 1.3: добавлен метод .
    JavaScript 1.5, NES 6.0: добавлен флаг m, нежадный модификатор, незахватывающие скобки, "смотрящие вперёд"/lookahead-утверждения. ECMA 262, Edition 3.

    Создание

    Формат литерального текста или функция конструктора RegExp.
    Литеральный формат используется так:
    /pattern/flags
    Функция конструктора используется так:
    new RegExp("pattern"[, "flags"])
    Параметры


    pattern

    Текст регулярного выражения.
    flags Флаг, если специфицирован, может иметь следующие значения в любом сочетании:
  • g: глобальная подстановка

  • i: игнорировать регистр

  • m: подставлять на нескольких строках

  • Заметьте, что параметры литерального формата не используют кавычек для обозначения строк, а параметры функции конструктора - используют кавычки. Итак, следующие выражения создают одно и то же регулярное выражение:
    /ab+c/i

    new RegExp("ab+c", "i")
    Описание

    При использовании функции конструктора необходимо применять нормальные правила замен-подстановок (escape) в строках (ввод специального символа с предшествующей \ при включении этого символа в строку). Например, следующие два выражения эквивалентны:
    re = new RegExp("\\w+")

    re = /\w+/
    В таблице представлен полный список и описание специальных символов, которые могут использоваться в регулярных выражениях.


    Таблица 1.1    Специальные символы в регулярных выражениях


    Символ
    Значение\ Для символов, которые обычно рассматриваются литерально, указывает, что следующий символ является специальным символом и не интерпретируется литерально.
    Например, /b/ совпадает с символом 'b'. Поместив обратную наклонную черту-backslash перед b, то есть /\b/, придаём символу специальное значение - "граница слова".
    -или-
    Для символов, которые обычно рассматриваются как специальные, указывает, что следующий символ является не специальным символом и должен интерпретироваться литерально.
    Например, * это специальный символ, который означает 0 или более вхождений предшествующего символа; например, /a*/ означает совпадение с 0 или более a. Чтобы искать * литерально, поставьте перед ним backslash; например, /a\*/ совпадает с 'a*'.^ Совпадение с начала ввода. Если многострочный флаг установлен в true, совпадает также сразу после символа обрыва строки.
    Например, /^A/ не совпадает с 'A' в строке "an A", но совпадает с первой 'A' в строке "An A."$Совпадение в конце ввода. Если многострочный флаг установлен в true, совпадает также непосредственно перед символом обрыва строки.
    Например, /t$/ не совпадает с 't' в "eater", но совпадает с ним в "eat".
    TD>* Совпадение с предыдущим символом 0 или более раз.
    Например, /bo*/ совпадает с 'boooo' в "A ghost booooed" и с 'b' в "A bird warbled", но ничего не совпадает в "A goat grunted".
    + Совпадение с предыдущим символом 1 или более раз. Эквивалентно {1,}.
    Например, /a+/ совпадает с 'a' в "candy" и со всеми 'a' в "caaaaaaandy".?Совпадение с предыдущим символом 0 или 1 раз.
    Например, /e?le?/ совпадает с 'el' в "angel" и с 'le' в "angle."
    если используется сразу после одного из квантификаторов *, +, ? или {}, делает квантификатор нежадным (совпадает минимальное число раз), что противоположно действию по умолчанию, когда квантификатор жадничает (совпадает максимальное число раз).
    Также используется во вперёдсмотрящих утверждениях, которые описаны в (?=), (?!), и (?:) в этой таблице.
    .(Десятичная точка) совпадает с любым одиночным символом, исключая символ новой строки.
    Например, /.n/ совпадает с 'an' и 'on' в "nay, an apple is on the tree", но не с 'nay'.(x)Совпадает с 'x' и запоминает совпадение. Это называется "захватывающие скобки".
    Например, /(foo)/ совпадает с и запоминает 'foo' в "foo bar." Совпавшая подстрока может быть вызвана из элементов результирующего массива [1], ..., [n] или из предопределённых свойств $1, ..., $9 RegExp-объектов.(?:x) Совпадает с 'x', но не запоминает совпадение. Это называется "незахватывающие скобки". Совпавшая подстрока не может быть вызвана из элементов результирующего массива [1], ..., [n] или из предопределённых свойств $1, ..., $9 RegExp-объектов.x(?=y) Совпадает с 'x', только если после 'x' следует 'y'. Например, /Jack(?=Sprat)/ совпадает с 'Jack', только если следом идёт 'Sprat'. /Jack(?=Sprat|Frost)/ совпадает с 'Jack', только если следом идёт 'Sprat' или 'Frost'. Однако ни 'Sprat', ни 'Frost' не являются частью результатов совпадения.x(?!y) Совпадает с 'x', только если после 'x' не следует 'y'. Например, /\d+(?!\.)/ совпадает с числом, только если следом не идёт десятичная точка.
    /\d+(?!\.)/.exec("3.141") совпадает с 141, но не совпадает с 3.141.x|y Совпадает с 'x' или с 'y'.
    Например, /green|red/ совпадает с 'green' в "green apple" и с 'red' в "red apple."{n}Где n это положительное целое. Совпадает точно с n появлений предшествующего элемента.
    Например, /a{2}/ не совпадает с 'a' в "candy," но совпадает со всеми 'a' в "caandy" и с первыми двумя 'a' в "caaandy."{n,} Где n это положительное целое. Совпадает с не менее, чем n появлений предшествующего элемента.
    Например, /a{2,}не совпадает с 'a' в "candy," но совпадает со всеми 'a' в "caandy" и в "caaaaaaandy." {n,m}Где n и m это положительные целые. Совпадает с минимум n и с максимум m появлений предшествующего элемента.
    Например, /a{1,3}/ не совпадает ни с чем в "cndy", совпадает с 'a' в "candy," с первыми двумя 'a' в "caandy" и с первыми тремя 'a' в "caaaaaaandy". Обратите внимание, что при совпадении с "caaaaaaandy", совпадает "aaa", хотя оригинальная строка содержит больше 'a'.[xyz] Набор символов. Совпадение с одним из символов в скобках. Можно специфицировать диапазон символов с помощью дефиса.
    Например, [abcd] это то же самое, что [a-c]. Совпадает с 'b' в "brisket" и с 'c' в "ache".
    [^xyz] Отрицающий набор символов. То есть совпадение с тем, что не заключено в скобки. Можно специфицировать диапазон символов с помощью дефиса.
    Например, [^abc] это то же самое, что [^a-c]. С начала совпадает с 'r' в "brisket" и с 'h' в "chop."[\b] Совпадает с backspace. (Не с \b.)\bСовпадает с концом слова, таким как пробел. (Не с [\b].)
    Например, /\bn\w/ совпадает с 'no' в "noonday";/\wy\b/ совпадает с 'ly' в "possibly yesterday."\B Совпадение не в конце слова.
    Например, /\w\Bn/ совпадает с 'on' в "noonday", и /y\B\w/ совпадает с 'ye' в "possibly yesterday."\cX Где X это буква из диапазона A - Z. Совпадение с управляющим символом в строке.
    Например, /\cM/ совпадает с control-M в строке.\dСовпадает с цифрой. Эквивалентно [0-9].
    Например, /\d/ или /[0-9]/ совпадает с '2' в "B2 is the suite number."\DСовпадает с не-цифрой. Эквивалентно[^0-9].
    Например, /\D/ или /[^0-9]/ совпадает с 'B' в "B2 is the suite number."\fСовпадает с form-feed/прогоном страницы.\nСовпадает с linefeed/прогоном строки.\rСовпадает с "возвратом каретки". \sСовпадает с одиночным пробельным символом, включая space, tab, form feed, line feed. Эквивалентно [ \f\n\r\t\u00A0\u2028\u2029].
    Например, /\s\w*/ совпадает с ' bar' в "foo bar."\SСовпадает с одиночным символом, отличным от пробелов. Эквивалентно
    [^ \f\n\r\t\u00A0\u2028\u2029].
    Например, /\S/\w* совпадает с 'foo' в "foo bar."\t Совпадает с tab.\v Совпадает с vertical tab.\w Совпадает с любым алфавитным или цифровым символом, включая underscore/символ подчёркивания. Эквивалентно [A-Za-z0-9_].
    Например, /\w/ matches 'a' in "apple," '5' in "$5.28," and '3' in "3D."\W Совпадает с любым не-словом. Эквивалентно [^A-Za-z0-9_].
    Например, /\W/ or /[^$A-Za-z0-9_]/ совпадает с '%' в "50%."\n Где n это положительное целое. обратная ссылка на последнее совпадение подстроки, где n заключённых в скобки в регулярном выражении (включая левую скобку).
    Например, /apple(,)\sorange\1/ совпадает с 'apple, orange' в "apple, orange, cherry, peach." Более сложные примеры даны после этой таблицы.\0Совпадает с символом NUL. После него не ставьте другую цифру.
    \xhhСовпадает с символом с кодом hh (два 16-ричных числа).\uhhhh Совпадает с символом с кодом hhhh (четыре 16-ричных числа).
    Литеральная нотация предоставляет компиляцию регулярного выражения при вычислении выражения. Используйте литеральную нотацию, если регулярное выражение должно остаться константой. Например, если Вы используете литеральную нотацию для построения регулярного выражения, используемого в цикле, регулярное выражение не должно перекомпилироваться при каждой итерации.
    Конструктор объекта регулярного выражения, например, new RegExp("ab+c"), предоставляет компиляцию регулярного выражения на этапе прогона/runtime. Используйте функцию, если знаете, что патэрн регулярного выражения будет изменяться, или если Вы не знаете патэрн и получаете его из другого источника, такого как ввод от пользователя.
    Отдельный предопределённый объект RegExp
    доступен для каждого окна; то есть каждый отдельный поток выполнения JavaScript получает свой собственный объект RegExp. Поскольку каждый скрипт запускается в потоке без остановки до конца выполнения, это гарантирует, что разные скрипты не перепишут значения объекта RegExp.


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

    Обратите внимание, что некоторые свойства объекта RegExp
    имеют и длинные, и короткие (Perl-подобные) имена. Оба имени всегда ссылаются на одно и то же значение. Perl это язык программирования, из которого JavaScript смоделировал свои регулярные выражения.


    Свойство
    Описание Специфицирует функцию, создающую прототип объекта. Нужно ли тестировать регулярное выражение относительно всех возможных совпадений в строке, или только относительно первого. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp. Игнорировать ли регистр символов при выполнении совпадений в строке. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp. Индекс, с которого начинать поиск совпадения в строке. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp. Искать ли в строках, расположенных по нескольким строкам. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp. Позволяет добавлять свойства всем объектам.
    Текст патэрна. В JavaScript 1.5 это свойство экземпляра объекта RegExp, а не объект RegExp.

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


    Метод
    Описание Выполняет поиск совпадений в своём параметре-строке. Тестирует на совпадение в своём параметре-строке. Возвращает литерал объекта, представляющий специфицированный объект; можно использовать это значение для создания нового объекта. Переопределяет метод . Возвращает строку, представляющую специфицированный объект. Переопределяет метод .
    Кроме того, этот объект наследует методы и из .

    Примеры

    Пример 1.

    Этот скрипт использует метод replace
    для переключения слов в строке. В замещающем тексте скрипт использует "$1" и "$2" для обозначения результатов совпадений с соответствующими скобками в патэрне регулярного выражения.

    На экране появится "Smith, John".
    Пример 2.

    В этом примере RegExp.input устанавливается событием Change. В функции getInfo
    метод exec использует значение RegExp.input в качестве аргумента.


    Enter your first name and your age, and then press Enter.







    Replace

    Находит совпадение между регулярным выражением и строкой и заменяет совпавшую подстроку новой подстрокой.

    Метод из Реализован вJavaScript 1.2
    JavaScript 1.3: добавлена возможность специфицировать функцию в качестве второго параметра.

    Версия ECMA
    ECMA-262 Edition 3
    Синтаксис

    replace(regexp, newSubStr)

    replace(regexp, function)
    Версии до JavaScript 1.3:

    replace(regexp, newSubStr)
    Параметры


    regexp

    Имя регулярного выражения. Это может быть имя переменной или литерал. newSubStr Строка, размещаемая вместо строки, найденной с помощью regexp.
    functionФункция, вызываемая после выполнения совпадения.

    Описание

    Этот метод не изменяет String-объект, в котором он вызывается. Он просто возвращает новую строку.
    Если Вы хотите выполнить глобальный поиск и замену, включите в регулярное выражение флаг g.
    Специфицирование строки в качестве параметра.

    Замещающая строка может содержать следующие специальные патэрны замещения:

    $$ Вставляет '$'. $&Вставляет совпавшую подстроку.
    $`Вставляет часть строки, предшествующую совпавшей подстроке.
    $´ Вставляет часть строки, следующую после совпавшей подстроки. $n или $nn Где n или nn это десятеричные числа, вставляет подстроку n-ного совпадения в скобках.

    Специфицирование функции в качестве параметра.

    Если в качестве второго параметра Вы специфицируете функцию, эта функция вызывается после выполнения совпадения. (использование функции таким способом часто называется лямбда-выражение.)
    В Вашей функции Вы можете динамически генерировать строку, которая замещает совпавшую подстроку. Результат вызова функции используется в качестве замещающего значения.
    Вложенная функция может использовать совпавшие подстроки для определения новой строки (newSubStr), которая замещает найденную подстроку. Вы получаете совпавшие подстроки через параметры Вашей функции. Первый параметр Вашей функции содержит полную совпавшую подстроку. Следующие n параметров могут быть использованы для совпадений в скобках, запоминаемых строк подсовпадений, где n это количество строк подсовпадения в регулярном выражении. Наконец, последние два параметра это смещение в строке, где произошло совпадение, и сама строка.

    Например, это метод replace возвращает XX.zzzz - XX , zzzz.
    "XXzzzz".replace(/(X*)(z*)/,

    function (str, p1, p2, offset, s) {

    return str + " - " + p1 + " , " + p2;

    }

    )

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


    JavaScript 1.2.

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

    Пример 1.

    В этом примере регулярное выражение содержит флаги глобальный и игнорирования регистра, что позволяет методу replace заменить каждое появление 'apples' в строке на 'oranges.'

    Будет напечатано "oranges are round, and oranges are juicy."
    Пример 2.

    В этом примере регулярное выражение определено в replace и содержит флаг игнорирования регистра.

    Будет напечатано "Twas the night before Christmas..."
    Пример 3.

    Этот скрипт переключает слова в строке. Для замещающего текста ,скрипт использует патэрны замещения $1 и $2.

    Будет напечатано "Smith, John".
    Пример 4.

    В этом примере градусы по Фаренгейту замещаются градусами по Цельсию. Градусы по Фаренгейту должны быть числом, заканчивающимся буквой F.

    Функция возвращает градусы по Цельсию, оканчивающиеся буквой C. Например, если параметр ввода будет 212F, функция возвратит 100C. Если будет задано число 0F, функция возвратит -17.77777777777778C.
    Регулярное выражение проверяет любые числа, оканчивающиеся на F. Число градусов по Фаренгейту доступно для Вашей функции через параметр $1. Функция устанавливает градусы по Цельсию, базируясь на градусах по Фаренгейту, переданных в строке функции f2c. f2c возвращает затем градусы по Цельсию. Эта функция приблизительно соответствует флагу s///e в Perl.
    function f2c(x) {

    var s = String(x)

    var test = /(\d+(?:\.\d*)?)F\b/g

    return s.replace

    (test,

    function (str,p1,offset,s) {

    return ((p1-32) * 5/9) + "C";

    }

    )

    }

    Return

    Специфицирует значение, возвращаемое функцией.

    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262


    Синтаксис

    return expression;

    Параметры

    expression

    Возвращаемое выражение.

    Примеры

    Следующая функция возвращает квадрат своего аргумента x, где x это число.
    function square(x) {

    return x * x;

    }

    Reverse

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

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

    Синтаксис

    reverse()


    Параметры

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


    Описание

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


    Примеры

    Создаётся массив myArray, содержащиё три элемента, затем массив переворачивается.
    myArray = new Array("one", "two", "three")

    myArray.reverse()
    Этот код изменяет массив myArray так, что:
  • myArray[0] становится "three"

  • myArray[1] становится "two"

  • myArray[2] становится "one"

  • См. также

    ,

    Round

    Возвращает число, округлённое до ближайшего целого.

    Метод из Static Реализован вJavaScript 1.0, NES 2.0 Версия ECMAECMA-262
    Синтаксис
    round(x)
    Параметр

    x

    Число.
    Описание

    Если дробная часть числа составляет .5 или больше, аргумент округляется до ближайшего целого в сторону увеличения. Если дробная часть числа меньше .5, аргумент округляется до ближайшего целого в сторону уменьшения.
    Поскольку round это static-метод из Math, Вы всегда используете его так: Math.round(), а не как метод Math-объекта, созданного Вами.

    Примеры


    //Возвращает 20

    x=Math.round(20.49)
    //Возвращает 21

    x=Math.round(20.5)
    //Возвращает -20

    x=Math.round(-20.5)
    //Возвращает -21

    x=Math.round(-20.51)

    Русские Термины

    анонимные функции;
    арифметические операции;
    % (modulus) ;
    -- (декремент) ;
    - (унарное отрицание) ;
    ++ (инкремент) ;
    безымянные/анонимные функции;
    время
    Date, объект;
    определение;
    минуты;
    выражения, не возвращающие значение;
    гиперссылки
    якоря для ...;
    без назначения;
    даты
    конвертация в строку;
    Date, объект;
    день недели;
    определение;
    миллисекунды после 1970 ;
    месяц;
    директории, используемые соглашения;
    зарезервированные слова;
    исключения
    отлов;
    LiveConnect;
    вызов;
    throw, оператор;
    try...catch, оператор;
    квадратные корни;
    ключевые слова;
    классы, доступ к Java-классам; ,
    контейнеры
    спецификация объекта по умолчанию;
    оператор with и ...;
    логарифмы
    база натурального ...;,
    натуральный логарифм 10 ;
    логические операции;
    ! (НЕ) ;
    && (И) ;
    (ИЛИ) ;
    сокращённое вычисление;
    массивы
    Array, объект;
    создание из строк;
    удаление элементов;
    dense/плотный ;
    увеличение размера;
    индексирование;
    начальный размер;,
    Java;
    объединение массивов;
    размер, определение;,
    обращение к элементам;
    сортировка;
    натуральные логарифмы
    база;
    e ;
    e, возведённая в степень;
    от 10 ;
    незахватывающие скобки
    скобки
    не-захватывание;
    нижний регистр;,
    операторы работы со строками;
    операторы;,
    соглашения по синтаксису
    объекты
    подтверждение, тип объекта для ...;
    подтверждение, свойство типа для ...;
    создание новых типов;
    удаление;
    установка по умолчанию;
    получение списка свойств для ...;
    итерирующие свойства;
    Java, доступ;
    операции;,
    арифметические;
    присвоения;
    побитовые;
    сравнения;
    список;
    логические;
    специальные;
    со строками;
    операции присвоения;
    %= ;
    &= ;
    *= ;
    += ;
    /= ;
    <<= ;
    -= ;
    >>= ;
    >>>= ;
    ^= ;
    |= ;
    условные операторы и операции присвоения;
    операции сравнения;
    != (не равно) ;,
    !== (строго не равно) ;,
    < (меньше) ;
    <= (меньше или равно) ;
    == (равно) ;,
    === (строго равно) ;,
    > (больше) ;
    >= (больше или равно) ;
    переменные
    объявление;,
    инициализация;,
    синтаксис для объявления;,
    плотные массивы;
    побитовые операции ;
    & (И) ;
    - (НЕ) ;
    << (сдвиг влево) ;,
    >> (сдвиг вправо с сохранением знака) ;,
    >>> (сдвиг вправо с заполнением нулями) ;,
    ^ (исключающее ИЛИ) ;
    | (ИЛИ) ;
    логические;
    сдвиг;
    проверка условия
    операторы присвоения и ...;
    Boolean-объекты и ...;
    регулярные выражения;
    свойства
    подтверждение, тип объекта;
    удаление;
    получение списка свойств объекта;
    итерация по объекту;
    верхнего уровня;
    свойства и функции верхнего уровня;
    "смотрящие вперёд" утверждения;
    соглашения по документам;
    соглашения по синтаксису;
    сокращённое вычисление;
    специальные операторы;
    списки выбора
    количество опций;
    строки
    мигающие;
    bold;
    позиция символов в ...;, ,
    конкатенация;
    конвертирование из даты;
    конвертирование в число с плавающей точкой;
    создание из массивов;
    определение;
    fontsize;
    length;
    нижний регистр;,
    разбор ...;
    разделение на массивы;
    String, объект;
    тэгиHTML
    BIG;
    BLINK;
    BOLD;
    удаление
    элементов массива;
    объектов;
    свойств;
    унарное отрицание (-), операция;
    условная (?:), операция;
    функции
    arguments, массив;
    callee, свойство;
    caller, свойство;
    объявление;
    Function, объект;
    length, свойство;
    список из;
    вложение;
    количество аргументов;
    return-значения;
    ... верхнего уровня;
    как значение переменной;
    циклы
    продолжение ...;
    for;
    прерывание;
    while;
    числа
    большее из двух;
    идентификация;
    Number, объект;
    получение целого;
    разбор из строки;
    квадратный корень;
    шрифты
    big;
    blinking;
    bold;
    Эйлера константа;
    возведённая в степень;
    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Search

    Выполняет поиск совпадения регулярного выражения и данного String-объекта.

    Метод из Реализован вJavaScript 1.2
    Версия ECMA ECMA-262 Edition 3
    Синтаксис

    search(regexp)
    Параметр


    regexp

    Имя регулярного выражения. Это может быть имя переменной или литерал..
    Описание

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

    Пример



    Это пример печатает сообщение, содержание которого зависит от успешности теста.
    function testinput(re, str){

    if (str.search(re) != -1)

    midString = " contains ";

    else

    midString = " does not contain ";

    document.write (str + midString + re.source);

    }

    SetDate

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

    Метод из Реализован в
    JavaScript 1.0, NES 2.0 Версия ECMAECMA-262
    Синтаксис
    setDate(dayValue)
    Параметры


    dayValue

    Целое от 1 до 31 - число месяца.

    Примеры

    Второй оператор изменяет день для theBigDay на July 24.
    theBigDay = new Date("July 27, 1962 23:30:00")

    theBigDay.setDate(24)


    См. также

    , .

    SetFullYear

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис

    setFullYear(yearValue[, monthValue, dayValue])
    Параметры


    yearValue

    Целое, специфицирующее год, например, 1995.
    monthValueЦелое от 0 до 11, представляющее месяцы с января по декабрь.
    dayValue Целое от 1 до 31, представляющее число месяца. Если Вы специфицируете параметр dayValue, Вы обязаны также специфицировать monthValue.
    Описание

    Если Вы не специфицируете параметры monthValue и dayValue, используются значения, возвращаемые из методов getMonth и getDate.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setFullYear
    пытается обновить другие параметры и информацию даты Date
    -объекте соответствующим образом. Например, если Вы специфицируете 15 для monthValue, year увеличивается на 1 (year + 1), и 3 используется для month.
    Примеры
    theBigDay = new Date();

    theBigDay.setFullYear(1997);


    См. также

    ,, .

    SetHours

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

    Метод из


    Реализован в

    JavaScript 1.0, NES 2.
    JavaScript 1.3: добавлены параметры minutesValue, secondsValue и msValue.

    Версия ECMA

    ECMA-262


    Синтаксис

    setHours(hoursValue[, minutesValue, secondsValue, msValue])
    Версии, предшествовавшие JavaScript 1.3:

    setHours(hoursValue)
    Параметры


    hoursValue

    Целое в диапазоне от 0 до 23 - час.
    minutesValue Целое в диапазоне от 0 до 59 минуты.
    secondsValue
    Целое в диапазоне от 0 до 59 - секунды. Если Вы специфицируете параметр secondsValue, Вы обязаны также специфицировать minutesValue.
    msValue
    Число в диапазоне от 0 до 999 - миллисекунды. Если Вы специфицируете параметр msValue, Вы обязаны также специфицировать minutesValue и secondsValue.
    Описание

    Если Вы не специфицируете параметры minutesValue, secondsValue и msValue, используются значения возвращаемые из методов getUTCMinutes, getUTCSeconds и getMilliseconds.
    Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setHours пытается соответственно обновить информацию даты в Date
    -объекте. Например, Если Вы используете 100 для secondsValue, минуты увеличатся на 1 (min + 1), а для секунд будет использовано значение 40.
    Примеры

    theBigDay.setHours(7)


    См. также

    , .

    SetMilliseconds

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис
    setMilliseconds(millisecondsValue)
    Параметры


    millisecondsValue

    Число в диапазоне от 0 до 999 - миллисекунды.
    Описание

    Если Вы специфицируете число вне ожидаемого диапазона значений, информация даты обновляется в Date
    -объекте соответствующим образом. Например, если Вы специфицировали 1005, количество секунд увеличится на 1, а 5 будет использовано для миллисекунд.
    Примеры

    theBigDay = new Date();

    theBigDay.setMilliseconds(100);


    См. также

    , .

    SetMinutes

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

    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0
    JavaScript 1.3: добавлены параметры secondsValue
    и msValue.

    Версия ECMA

    ECMA-262

    Синтаксис

    setMinutes(minutesValue[, secondsValue, msValue])
    Версии, предшествовавшие JavaScript 1.3:

    setMinutes(minutesValue)
    Параметры


    minutesValue

    Целое в диапазоне от 0 до 59 - минуты.
    secondsValueЦелое в диапазоне от 0 до 59 - секунды. Если Вы специфицируете параметр secondsValue, Вы обязаны также специфицировать minutesValue.
    msValueЦелое в диапазоне от 0 до 999 - миллисекунды. Если Вы специфицируете параметр
    msValue, Вы обязаны также специфицировать minutesValue и secondsValue.

    Примеры

    theBigDay.setMinutes(45)
    Описание

    Если Вы не специфицируете параметры secondsValue и msValue, используются значения, возвращаемые из методов getSeconds и getMilliseconds.
    Если специфицированный Вами параметр находится вне пределов ожидаемого диапазона, setMinutes пытается соответственно обновить информацию даты в Date
    -объекте. Например, если Вы используете 100 для secondsValue, минуты (minutesValue) увеличатся на 1 (minutesValue + 1), а 40 будет использоваться для секунд.


    См. также

    , .

    SetMonth

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

    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0
    JavaScript 1.3: добавлен параметр dayValue.

    Версия ECMA

    ECMA-262


    Синтаксис

    setMonth(monthValue[, dayValue])

    Версии до JavaScript 1.3:

    setMonth(monthValue)
    Параметры


    monthValue

    Целое в диапазоне от 0 до 11 (месяц с января по декабрь).
    dayValueЦелое в диапазоне от 1 до 31 - число месяца.

    Описание

    Если Вы не специфицируете параметр dayValue, используется значение, возвращаемое методом getDate.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setMonth
    пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы используете 15 для monthValue, год будет увеличен на 1 (year + 1), а 3 будет использовано для month.

    Примеры

    theBigDay.setMonth(6)
    См. также

    , .

    SetSeconds

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

    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0
    JavaScript 1.3: добавлен параметр msValue.

    Версия ECMA

    ECMA-262

    Синтаксис
    setSeconds(secondsValue[, msValue])
    Версии до JavaScript 1.3:

    setSeconds(secondsValue)
    Параметры


    secondsValue

    Целое от 0 до 59. msValue Число от 0 до 999 - миллисекунды.
    Описание

    Если Вы не специфицируете параметр msValue, используется значение, возвращаемое методом getMilliseconds.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setSeconds пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы используете 100 для secondsValue, минуты, хранимые в Date-объекте, увеличатся на 1, а 40 будет использовано для секунд.
    Примеры

    theBigDay.setSeconds(30)


    См. также

    , .

    SetTime

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

    Метод из


    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262

    Синтаксис

    setTime(timevalue )
    Параметры


    timevalue

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

    Описание

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

    Примеры

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

    sameAsBigDay.setTime(theBigDay.getTime())


    См. также

    , .

    SetUTCDate

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

    Метод из Реализован в
    JavaScript 1.3 Версия ECMAECMA-262
    Синтаксис

    setUTCDate(dayValue)
    Параметры


    dayValue

    Целое от 1 до 31 - число месяца.
    Описание

    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setUTCDate пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы используете 40 для dayValue и month, хранимый в объекте Date
    - это June, число будет изменено на 10 и месяц будет увеличен до July.
    Примеры
    theBigDay = new Date();

    theBigDay.setUTCDate(20);


    См. также

    , .

    SetUTCFullYear

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

    Метод из Реализован в
    JavaScript 1.3 Версия ECMAECMA-262
    Синтаксис

    setUTCFullYear(yearValue[, monthValue, dayValue])
    Параметры


    yearValue

    Целое число - год, например, 1995.
    monthValue Целое от 0 до 11 - месяцы с января по декабрь.
    dayValue Целое от 1 до 31 - число месяца. Если Вы специфицируете параметр dayValue, Вы обязаны также специфицировать monthValue.
    Описание

    Если Вы не специфицируете параметры monthValue и dayValue, используются значения из методов getMonth и getDate.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setUTCFullYear пытается соответственно обновить информацию даты и другие параметры в Date -объекте. Например, если Вы специфицируете 15 для monthValue, year увеличивается на 1 (year + 1), а 3 используется для month.
    Примеры
    theBigDay = new Date();

    theBigDay.setUTCFullYear(1997);


    См. также

    , .

    SetUTCHours

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис

    setUTCHour(hoursValue[, minutesValue, secondsValue, msValue])
    Параметры


    hoursValue

    Целое от 0 до 23 - час. minutesValue Целое от 0 до 59 - минуты.secondsValue Целое от 0 до 59 - секунды. Если Вы специфицируете параметр secondsValue, Вы обязаны также специфицировать minutesValue.
    msValueЧисло в диапазоне от 0 до 999 - миллисекунды. Если Вы специфицируете параметр msValue, Вы обязаны также специфицировать minutesValue и secondsValue.

    Описание

    Если Вы не специфицируете параметры minutesValue, secondsValue и msValue, используются значения из методов getUTCMinutes, getUTCSeconds и getUTCMilliseconds.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setUTCHours пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы специфицируете 100 для secondsValue, минуты увеличатся на 1 (min + 1), а 40 будет использовано для секунд.

    Примеры

    theBigDay = new Date();
    theBigDay.setUTCHour(8);
    См. также

    , .

    SetUTCMilliseconds

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


    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262


    Синтаксис

    setUTCMilliseconds(millisecondsValue)
    Параметры


    millisecondsValue

    Число от 0 до 999 -миллисекунды.
    Описание

    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setUTCMilliseconds пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы специфицируете 1100 для millisecondsValue, секунды, хранимые в объекте Date, будут увеличены на 1, а 100 будет использовано для миллисекунд.
    Примеры
    theBigDay = new Date();

    theBigDay.setUTCMilliseconds(500);


    См. также

    , .

    SetUTCMinutes

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


    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262


    Синтаксис

    setUTCMinutes(minutesValue[, secondsValue, msValue])
    Параметры

    minutesValue

    Целое от 0 до 59 - минуты.
    secondsValue Целое от 0 до 59 - секунды. Если Вы специфицируете параметр secondsValue, Вы обязаны также специфицировать minutesValue.
    msValue
    Число в диапазоне от 0 до 999 - миллисекунды. Если Вы специфицируете параметр msValue, Вы обязаны также специфицировать minutesValue и secondsValue.
    Описание

    Если Вы не специфицируете параметры secondsValue и msValue, используются значения из методов getUTCSeconds и getUTCMilliseconds.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setUTCMinutes
    пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы специфицируете 100 для secondsValue, минуты (minutesValue) будут увеличены на 1 (minutesValue + 1), а 40 будет использовано для секунд.
    Примеры
    theBigDay = new Date();

    theBigDay.setUTCMinutes(43);


    См. также

    , .

    SetUTCMonth

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис

    setUTCMonth(monthValue[, dayValue])
    Параметры


    monthValue

    Целое от 0 до 11 - месяцы с января по декабрь.
    dayValueЦелое от 1 до 31 - число месяца.

    Описание

    Если Вы не специфицируете параметр dayValue, используется значение из метода getUTCDate.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setUTCMonth
    пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы специфицируете 15 для monthValue, year будет увеличен на 1 (year + 1), а 3 будет использовано для month.

    Примеры
    theBigDay = new Date();

    theBigDay.setUTCMonth(11);
    См. также

    , .

    SetUTCSeconds

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

    Метод из


    Реализован в

    JavaScript 1.3

    Версия ECMA

    ECMA-262

    Синтаксис

    setUTCSeconds(secondsValue[, msValue])
    Параметры


    secondsValue

    Целое от 0 до 59.
    msValue Число от 0 до 999 - миллисекунды.
    Описание

    Если Вы не специфицируете параметр msValue, используется значение, возвращаемое методом getUTCMilliseconds.
    Если специфицированный Вами параметр находится за пределами ожидаемого диапазона, setUTCSeconds
    пытается соответственно обновить информацию даты в Date-объекте. Например, если Вы специфицирует 100 для secondsValue, минуты, хранимые в объекте Date, увеличиваются на 1, а 40 будет использовано для секунд.
    Примеры
    theBigDay = new Date();

    theBigDay.setUTCSeconds(20);
    См. также

    , .

    SetYear

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


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

    Синтаксис

    setYear(yearValue)
    Параметры


    yearValue

    Целое число.
    Описание

    setYear более не используется и заменён на метод .
    Если yearValue это число в диапазоне от 0 до 99 (включительно), то year для dateObjectName
    устанавливается в 1900 + yearValue. Иначе year для dateObjectName устанавливается в yearValue.
    Чтобы учесть годы до и после 2000, Вы должны использовать вместо setYear, тогда год будет специфицирован полностью.
    Примеры

    Заметьте, что есть два способа установить год в 20 столетии.
    Пример 1.

    Год устанавливается в1996.
    theBigDay.setYear(96)
    Пример 2.
    Год устанавливается в 1996.
    theBigDay.setYear(1996)
    Пример 3.

    Год устанавливается в 2000.
    theBigDay.setYear(2000)
    См. также

    , , .

    Shift

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

    Метод из Реализован в JavaScript 1.2, NES 3.0Версия ECMA ECMA-262 Edition 3

    Синтаксис

    shift()


    Параметры

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


    Пример

    Следующий код отображает массив myFish до и после удаления первого элемента. Он также отображает удалённый элемент:
    myFish = ["angel", "clown", "mandarin", "surgeon"];

    document.writeln("myFish before: " + myFish);

    shifted = myFish.shift();

    document.writeln("myFish after: " + myFish);

    document.writeln("Удалён этот элемент: " + shifted);
    На выходе будет:
    myFish before: ["angel", "clown", "mandarin", "surgeon"]

    myFish after: ["clown", "mandarin", "surgeon"]

    Удалён этот элемент: angel
    См. также

    , ,

    Символы

    - (побитовое НЕ), операция;
    - (унарное отрицание), операция;
    -- (декремент), операция;
    ! (логическое НЕ), операция;
    != (не равно), операция;,
    !== (строго не равно), операция,
    % (остаток от деления), операция;
    %= операция;
    && (логическое И), операция;
    & (побитовое И), операция;
    &= операция;
    ) ;
    */ комментарий;
    *= операция;
    + (конкатенация строк), операция;
    ++ (инкремент), операция;
    += (конкатенация строк), операция;
    += операция;
    /* комментарий;
    // комментарий;
    /= операция;
    < (меньше), операция;
    << (сдвиг влево), операция;,
    <<= операция;
    <= (меньше или равно), операция;
    == (равно), операция;,
    === (строго равно), операция;,
    -= операция;
    > (больше), операция;
    >= (больше или равно), операция;
    >> (сдвиг вправо с сохранением знака), операция;,
    >>= операция;
    >>> (сдвиг вправо с заполнением нулями), операция;,
    >>>= операция;
    ?: (проверка условия), операция
    ^ (побитовое исключающее ИЛИ), операция;
    ^= операция;
    | (побитовое И), операция;
    |= операция;
    (логическое ИЛИ), операция;
    , (запятая), операция

    Sin

    Возвращает синус числа.

    Метод из Static Реализован вJavaScript 1.0, NES 2.0 Версия ECMAECMA-262
    Синтаксис
    sin(x)
    Параметр

    x

    Число.
    Описание

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

    Примеры

    Эта функция возвращает синус переменной x:
    function getSine(x) {

    return Math.sin(x)

    }
    Если Вы передаёте в getSine
    значение Math.PI/2, он возвратит 1.


    См. также

    , , , , , .

    Slice

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

    Метод из Реализован в JavaScript 1.2, NES 3.0Версия ECMA ECMA-262 Edition 3

    Синтаксис

    slice(begin[,end])


    Параметры


    begin

    Индекс с базой 0, с которого начинается извлечение.end Индекс с базой 0, на котором заканчивается извлечение:
  • slice извлекает до end (не включительно).

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


  • Описание

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

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

    Примеры

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

    Скрипт записывает:
    myCar = [{color:"red", wheels:4, engine:{cylinders:4, size:2.2}}, 2,

    "cherry condition", "purchased 1997"]

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

    myCar[0].color = red newCar[0].color = red

    The new color of my Honda is purple

    myCar[0].color = purple

    newCar[0].color = purple

    Извлекает раздел строки и возвращает новую строку.

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

    Синтаксис

    slice(beginslice[, endslice])
    Параметры


    beginslice

    Индекс с базой 0, по которому начинается извлечение.
    endslice Индекс с базой 0, по которому заканчивается извлечение. При отсутствии, slice извлекает до конца строки.

    Описание

    slice извлекает текст из одной строки и возвращает новую строку. Изменения в тексте одной строки не влияют на другие строки.
    slice извлекает до, но не включая, endslice. String.slice(1,4) извлекает символы со второго по четвёртый (символы, индексированные 1, 2 и 3).
    Как отрицательный индекс, endslice показывает смещение от конца строки . String.slice(2,-1) извлекает символы с третьего через второй и последний.

    Пример

    В этом примере slice используется для создания новой строки.

    Будет записано:
    morning is upon

    Small

    Выводи строку шрифтом уменьшенного размера, как при использовании тэга .

    Метод из Реализован вJavaScript 1.0, NES 2.0

    Синтаксис

    small()
    Параметры

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

    Описание

    Используйте метод small с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.

    Примеры



    В этом примере методы работы со строками изменяют размер строки:
    var worldString="Hello, world"
    document.write(worldString.small())

    document.write("" + worldString.big())

    document.write("" + worldString.fontsize(7))
    Вывод будет таким же, как и в нижеследующем HTML:
    Hello, world

    Hello, world

    Hello, world
    См. также

    ,
    .
    split">

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

    Приложения JavaScript могут работать на различных операционных системах (ОС); информация в этой книге применима ко всем версиям. Пути файлов и директорий даны в формате Windows (с \ для разделения имён директорий). Для Unix-версий пути директорий - те же, только используются / вместо \.
    В этой книге используются uniform resource locators (URL)/универсальные локаторы ресурсов в следующей форме:
    http://сервер.домен/путь/файл.html
    В этих URL сервер это имя сервера, на котором Вы запускаете своё приложение, такое как research1 или www;

    домен это имя Вашего Internet-домена, такое как netscape.com или uiuc.edu;

    путь это структура директории на сервере;

    файл.html это имя конкретного файла.
    В целом элементы в URL, введённые шрифтом italic, это шаблоны, а элементы в нормальном моноширинном шрифте - литералы. Если на Вашем сервере имеется Secure Sockets Layer (SSL), Вы можете использовать https вместо http в URL.
    В этой книге используются следующие соглашения по шрифтам:
  • Моноширинный шрифт используется в коде примеров и листинге кода, в API и элементах языка (таких как имена методов и свойств), названиях файлов, пути, названиях директорий, тэгах HTML и в любом тексте, который должны выводиться на экран.

    (Моноширинный italic-шрифт используется для замещаемых болванок-шаблонов, вставленных в код.)

  • Шрифт Italic используется для названий книг, выделения, переменных и заглушек-шаблонов и слов, используемых в литеральном смысле.

  • (Полу)Жирный шрифт используется для справочных терминов.


  • Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Sort

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


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

    Синтаксис

    sort(compareFunction)


    Параметры


    compareFunction

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

    Описание

    Если compareFunction
    не предоставляется, элементы сортируются путём конвертирования их в строки и сравнения строк в лексикографическом порядке ("словарь" или "телефонная книга," не числовой порядок). Например, "80" встанет перед "9" в лексикографическом порядке, но при числовой сортировке 9 встанет перед 80.
    Если compareFunction
    предоставляется, массив элементов сортируется в соответствии с return-значением функции сравнения. Если a и b это два сравниваемых элемента, тогда:
  • Если compareFunction(a, b) меньше 0, сортирует от b к a меньший индекс, чем a.

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

  • Если compareFunction(a, b) больше 0, сортирует от b к a больший индекс, чем a.

  • Итак, функция compare имеет следующую форму:
    function compare(a, b) {

    if (a меньше, чем b, по некоторому критерию сортировки)

    return -1

    if (a больше, чем b, по некоторому критерию сортировки)

    return 1

    // a обязано быть равно b

    return 0

    }
    Чтобы сравнить числа вместо строк, функция compare может просто вычесть 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; вместо этого он сортирует их до самого конца массива. Например, предположим, имеется скрипт:

    В JavaScript 1.1 печатается:
    ant, null, null, null, null, zebra

    ant, null, null, null, null, zebra
    В JavaScript 1.2 печатается:
    ant, undefined, undefined, undefined, undefined, zebra

    ant, zebra, undefined, undefined, undefined, undefined


    Примеры

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

    Как показано на выводе, если используется функция compare, числа сортируются корректно вне зависимости от того, являются они числами или строками чисел:
    stringArray: Blue,Humpback,Beluga

    Sorted: Beluga,Blue,Humpback
    numberArray: 40,1,5,200

    Sorted without a compare function: 1,200,40,5

    Sorted with compareNumbers: 1,5,40,200
    numericStringArray: 80,9,700

    Sorted without a compare function: 700,80,9

    Sorted with compareNumbers: 9,80,700
    mixedNumericArray: 80,9,700,40,1,5,200

    Sorted without a compare function: 1,200,40,5,700,80,9

    Sorted with compareNumbers: 1,5,9,40,80,200,700
    См. также

    ,

    Source

    Свойство только-для-чтения, содержащее текст патэрна, исключая символы /.

    Свойство изЭкземпляры .
    Read-only Реализовано вJavaScript 1.2, NES 3.0 Версия ECMAECMA 262, Edition 3
    Описание

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

    Splice

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

    Метод из Реализован в JavaScript 1.2, NES 3.0
    JavaScript 1.3: возвращает массив, содержащий удалённые элементы. Версия ECMAECMA-262 Edition 3

    Синтаксис

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


    Параметры


    index

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

    element1, ...,

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

    Описание

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


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



    JavaScript 1.2.

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


    Примеры

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

    Этот скрипт выводит:
    myFish: ["angel", "clown", "mandarin", "surgeon"]
    После добавления 1: ["angel", "clown", "drum", "mandarin", "surgeon"]

    удалён: undefined
    После удаления 1: ["angel", "clown", "drum", "surgeon"]

    удалён: mandarin
    После замещения 1: ["angel", "clown", "trumpet", "surgeon"]

    удалён: drum
    После замещения 2: ["parrot", "anemone", "blue", "trumpet", "surgeon"]

    удалён: ["angel", "clown"]

    Split

    Делит String-объект на массив строк, разделяя строку на подстроки.

    Метод из Реализован вJavaScript 1.1, NES 2.0 Версия ECMA ECMA-262 (если в качестве сепаратора строка)
    ECMA-262 Edition 3 (если в качестве сепаратора регулярное выражение)

    Синтаксис

    split([separator][, limit])
    Параметры


    separator

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

    Метод split возвращает новый массив.
    Если найден, сепаратор удаляется из строки и подстрок, возвращаемых в массиве. Если сепаратор опущен, массив содержит один элемент - всю строку.
    В JavaScript 1.2 и позже, split имеет следующие дополнения:
  • Он может принимать регулярное выражение в качестве аргумента, а также фиксированную строку, по которым разделяется строка-объект. Если сепаратор - регулярное выражение, любые имеющиеся скобки вызывают включение подсовпадений в возвращаемый массив.

  • Может принимать ограниченное количество элементов, так что результирующий массив не будет содержать пустые ведомые элементы.

  • Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге SCRIPT, String.split(" ")
    делит строку при каждом прогоне одним или более пробельными символами, включая пробелы, табуляцию, прогоны строки и возвраты каретки. Для этого LANGUAGE="JavaScript1.2" обязано быть специфицировано в тэге
    При использовании LANGUAGE="JavaScript1.2" это скрипт даст:
    "She", "sells", "seashells", "by", "the", "seashore"
    Без LANGUAGE="JavaScript1.2" этот скрипт разделит только по отдельным пробельным символам, что даст:
    "She", "sells", , , , "seashells", "by", , , "the", "seashore"
    Пример 3.

    Здесь split ищет 0 или боле символов пробела с последующим символом "точка с запятой" с последующими 0 или более пробелами и, если совпадение найдено, удаляет пробелы из строки.

    nameList это массив, возвращаемый как результат работы split.


    В результате печатаются две строки; первая - строка-оригинал, вторая - результирующий массив.
    Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
    Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand
    Пример 4.

    В этом примере split ищет в строке 0 или более пробелов и возвращает первые три найденные разделения.

    Скрипт отображает:
    ["Hello", "World.", "How"]
    См. также

    , , .

    Sqrt

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

    Метод из StaticРеализован в JavaScript 1.0, NES 2.0Версия ECMA ECMA-262
    Синтаксис
    sqrt(x)
    Параметр


    x

    Число.

    Описание

    Если number это отрицательное значение, sqrt возвращает NaN.
    Поскольку sqrt это static-метод из Math, Вы всегда используете его так: Math.sqrt(), а не как метод Math-объекта, созданного Вами.

    Примеры

    Эта функция возвращает квадратный корень переменной x:
    function getRoot(x) {

    return Math.sqrt(x)

    }
    Если Вы передаёте в getRoot
    значение 9, он возвращает 3; если передаёте 2, возвращает 1.414213562373095.

    Квадратный корень из 1/2, приблизительно 0.707.
    Свойство из Static, Read-only Реализовано вJavaScript 1.0, NES 2.0

    Версия ECMAECMA-262

    Пример


    Эта функция возвращает 1, делённая на квадратный корень из 2:

    function getRoot1_2() {

    return Math.SQRT1_2

    }

    Описание


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

    Strike

    Выводи строку перечёркнутым шрифтом, как при использовании тэга .

    Метод из Реализован вJavaScript 1.0, NES 2.0
    Синтаксис

    strike()
    Параметры

    Отсутствуют.
    Описание

    Используйте метод strike с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.

    Примеры

    В этом примере методы работы со строками изменяют форматирование строки:
    var worldString="Hello, world"
    document.write(worldString.blink())

    document.write("" + worldString.bold())

    document.write("" + worldString.italics())

    document.write("" + worldString.strike())
    Вывод будет таким же, как и в нижеследующем HTML:
    Hello, world

    Hello, world

    Hello, world

    Hello, world


    См. также

    , , .

    String

    Объект, представляющий серию символов в строке.

    Объект ядра Реализован в

    JavaScript 1.0: создание объекта String только символами в кавычках.
    JavaScript 1.1, NES 2.0: добавлен конструктор String; добавлено свойство
    prototype; добавлен метод ; добавлена возможность передавать строки между скриптами в различные окна и фрэймы (в предыдущих релизах Вы должны были добавлять пустую строку к строке другого окна, чтобы ссылаться на неё).
    JavaScript 1.2, NES 3.0: добавлены методы , , , , и .
    JavaScript 1.3: добавлен метод ; изменены методы , и .

    Версия ECMA

    ECMA-262


    Создание
    Конструктор String:

    new String(String)
    Параметры


    String

    Любая строка.

    Описание

    Объект String это оболочка вокруг данных примитивного типа String. Не путайте string-литерал с объектом String. Например, следующий код создаёт string-литерал s1 и String-объект s2:
    s1 = "foo" // создаёт значение строкового литерала

    s2 = new String("foo") // создаёт String-объект
    Вы можете вызывать любой из методов String-объекта в строковом литеральном значении — JavaScript автоматически конвертирует строковой литерал во временный String-объект, вызывает метод, затем уничтожает временный String-объект. Вы можете также использовать свойство String.length
    со string-литералом.
    Вы должны использовать string-литералы, если только Вам не нужно использовать именно String-объект, так как String-объекты могут иметь поведение, не предсказуемое интуитивно. Например:
    s1 = "2 + 2" // создаёт значение строкового литерала

    s2 = new String("2 + 2") // создаёт String-объект

    eval(s1) // возвращает число 4

    eval(s2) // возвращает строку "2 + 2"
    Строка может быть представлена как литерал, заключённый в одинарные или двойные кавычки; например, "Netscape" или `Netscape'.
    Вы можете конвертировать свойство любого объекта в строку, используя функцию верхнего уровня.

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



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

    Специфицирует функцию, создающую прототип объекта.
    Размер строки.
    Позволяет добавлять свойства String-объекту.
    Методы. Резюме.



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

    Создаёт "якорь" HTML, который используется в качестве цели гипертекстовой ссылки.
    Отображает строку шрифтом большего размера, как при использовании тэга BIG.
    Строка мигает, как при использовании тэга BLINK.

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

    Строка выводится шрифтом специфицированного размера, как при использовании тэга .

    Возвращает строку, созданную путём использования специфицированной последовательности Unicode-значений. Это метод класса String, а не String-экземпляра.
    Возвращает индекс, внутри вызывающего String-объекта, первого появления специфицированного значения, или -1 если оно не найдено.

    Строка выводится шрифтом italic, как при использовании тэга .

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

    Создаёт гипертекстовую ссылку HTML.
    Используется для поиска совпадений регулярного выражения относительно строки.
    Используется для поиска совпадений регулярного выражения относительно строки и для замены совпавшей подстроки новой подстрокой.

    Выполняет поиск совпадений регулярного выражения относительно специфицированной строки.
    Извлекает раздел строки и возвращает новую строку.
    Строка выводится шрифтом уменьшенного размера, как при использовании тэга SMALL.
    Разделяет String-объект на массив строк путём разделения строки на подстроки.
    Строка выводится как перечёркнутый текст, как при использовании тэга STRIKE.
    Строка выводится как подиндекс, как при использовании тэга SUB.
    Возвращает специфицированное количество символов строки, начиная со специфицированного места.
    Возвращает символы строки, находящиеся между специфицированными индексами.
    Строка выводится как надиндекс, как при использовании тэга SUP.
    Возвращает вызывающее строковое значение, с символами, конвертированными в нижний регистр.
    Возвращает литерал объекта, представляющий специфицированный объект; Вы можете использовать это значение для создания нового объекта. Переопределяет метод .
    Возвращает строку, представляющую специфицированный объект. Переопределяет метод .
    Возвращает вызывающее строковое значение, с символами, конвертированными в верхний регистр.
    Возвращает примитивное значение специфицированного объекта. Переопределяет метод . Кроме того, этот метод наследует методы и из .
    Примеры
    Пример 1: Строковой литерал.

    Следующий оператор создаёт string-литерал:
    var last_name = "Schaefer"

    Пример 2: Свойства строкового литерала.

    Следующие операторы вычисляются до 8, "SCHAEFER" и "schaefer":
    last_name.length

    last_name.toUpperCase()

    last_name.toLowerCase()
    Пример 3: Доступ к отдельным символам строки.

    Можно представить строку как массив символов. Тогда можно получить доступ к отдельным символам строки по индексу этого массива. Например, следующий код выводит "The first character in the String is H":
    var myString = "Hello"

    myString[0] // returns "H"

    Пример 4: Передача строки между скриптами, находящимися в разных окнах или фрэймах.

    Следующий код создаёт две строковые переменные и открывает второе окно:
    var lastName = "Schaefer"

    var firstName = "Jesse"

    empWindow=window.open('String2.html','window1','width=300,height=300')
    Если HTML-источник для второго окна (String2.html) создаёт две строковые переменные, empLastName и empFirstName, то следующий код в первом окне присваивает значения переменным второго окна:
    empWindow.empFirstName=firstName

    empWindow.empLastName=lastName
    Следующий код первого окна выводит значения переменных второго окна:
    alert('empFirstName in empWindow is ' + empWindow.empFirstName)

    alert('empLastName in empWindow is ' + empWindow.empLastName)

    Строковые Операции (операции работы со строками)

    Помимо операций сравнения, которые можно использовать со сроками, операция (+) выполняет конкатенацию (объединение) двух строковых значений, возвращая строку, являющуюся результатом объединения двух строк-операндов. Например, "my " + "string" возвратит строку "my string".

    Реализована вJavaScript 1.0 Версия ECMAECMA-262
    Сокращённая операция присвоения += также может использоваться для конкатенации строк. Например, если переменная mystring имеет значение "alpha," то выражение mystring += "bet"
    вычисляется в "alphabet", и это значение присваивается переменной mystring.

    Sub

    Выводит строку как подиндекс, как при использовании тэга .

    Метод из Реализован в JavaScript 1.0, NES 2.0
    Синтаксис

    sub()
    Параметры


    Отсутствуют.
    Описание

    Используйте метод sub с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для генерации HTML функцию write.
    Примеры

    Здесь методы sub и sup используются при форматировании строки:
    var superText="superscript"

    var subText="subscript"
    document.write("This is what a " + superText.sup() + " looks like.")

    document.write("This is what a " + subText.sub() + " looks like.")
    Вывод будет таким же, как и в нижеследующем HTML:
    This is what a superscript looks like.

    This is what a subscript looks like.
    См. также

    .

    Substr

    Возвращает специфицированное количество символов строки, начиная со специфицированного места.

    Метод из Реализован вJavaScript 1.0, NES 2.0

    Синтаксис

    substr(start[, length])
    Параметры

    start

    Точка, с которой начинается извлечение символов.
    length Количество извлекаемых символов.

    Описание

    start это индекс символа. Индекс первого символа 0, а индекс последнего символа - на 1 меньше длины строки.

    substr начинает извлечение символов от start и выбирает length-количество символов.
    Если start имеет положительное значение и размер, равный строке или больший, substr не возвращает никаких символов.
    Если start имеет отрицательное значение, substr
    использует его как индекс символа, считая от конца строки. Если start имеет отрицательное значение и abs(start) больше длины строки, substr
    использует 0 как start-индекс.
    Если length равен 0 или отрицательный, substr не возвращает никаких символов. Если length опущен, start извлекает символы до конца строки.
    Пример

    Рассмотрим следующий скрипт:

    Этот скрипт отобразит:
    (1,2): bc

    (-2,2): ij

    (1): bcdefghij

    (-20, 2): bcdefghij

    (20, 2):
    См. также

    .

    SubString

    Возвращает поднабор String-объекта.

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

    Синтаксис

    subString(indexA, indexB)
    Параметры


    indexA

    Целое, начиная от 0, на 1 меньшее, чем length строки.
    indexB Целое, начиная от 0, на 1 меньшее, чем length строки.

    Описание

    subString извлекает символы с indexA до, но не включая, indexB.

    В частности:
    Если indexA меньше 0, indexA рассматривается как имеющий значение 0.
    Если indexB больше, чем StringName.length, indexB рассматривается так, как если бы он был StringName.length.
    Если indexA равен indexB, subString возвращает пустую строку.
    Если indexB опущен, indexA извлекает символы до конца строки.

  • В JavaScript 1.2 используется LANGUAGE="JavaScript1.2" в тэге SCRIPT:
    Если indexA больше, чем indexB, JavaScript производит ошибку времени выполнения (out of memory/недостаточно памяти).
    В JavaScript 1.2 - без LANGUAGE="JavaScript1.2" в тэге SCRIPT:
    Если indexA больше, чем indexB, JavaScript возвращает подстроку, начинающуюся с indexB и заканчивающуюся indexA - 1.


    Примеры
    Пример 1.

    В это примере subString используется для отображения символов из строки "Netscape":
    var anyString="Netscape"
    // Displays "Net"

    document.write(anyString.subString(0,3))

    document.write(anyString.subString(3,0))

    // Displays "cap"

    document.write(anyString.subString(4,7))

    document.write(anyString.subString(7,4))

    // Displays "Netscap"

    document.write(anyString.subString(0,7))

    // Displays "Netscape"

    document.write(anyString.subString(0,8))

    document.write(anyString.subString(0,10))
    Пример 2.

    В это примере замещается подстрока в строке. будут замещаться отдельные символы и подстроки. Вызов функции в конце примера изменяет строку "Brave New World" в "Brave New Web".
    function replaceString(oldS,newS,fullS) {

    // заменяет oldS на newS в String> fullS

    for (var i=0; i
    if (fullS.subString(i,i+oldS.length) == oldS) {

    fullS = fullS.subString(0,i)+newS+fullS.subString(i+oldS.length,fullS.length)

    }

    }

    return fullS

    }
    replaceString("World","Web","Brave New World")
    Пример 3.

    В JavaScript 1.2, используя LANGUAGE="JavaScript1.2", следующий скрипт производит ошибку времени выполнения (out of memory).

    Без LANGUAGE="JavaScript1.2", вышеприведённый скрипт печатает следующее:
    Net Net
    Во втором write индексы поменялись местами.

    См. также

    .

    Sun

    Любой класс из Java-пакета sun.*.

    Свойство из


    Реализовано в

    JavaScript 1.1, NES 2.0


    Синтаксис

    Packages.sun

    Описание

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


    См. примеры для
    .

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Объект верхнего уровня, используемый для доступа к Java-классам в пакете sun.*.



    Объект ядра Реализован в JavaScript 1.1, NES 2.0


    Создание

    Объект sun это предопределённый объект верхнего уровня в JavaScript. Вы можете автоматически получать к нему доступ без использования конструктора или вызова метода.

    Описание

    Объект sun это синоним для свойства Packages.sun.


    См. также

    ,



    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Sup

    Выводит строку как надиндекс, как при использовании тэга .

    Метод из Реализован в JavaScript 1.0, NES 2.0
    Синтаксис

    sup()
    Параметры

    Отсутствуют.
    Описание

    Используйте метод sup с методами write или writeln для форматирования и отображения строки в документе. В серверном JavaScript используйте для генерации HTML функцию write.

    Примеры

    Здесь методы sub и sup используются при форматировании строки:
    var superText="superscript"

    var subText="subscript"
    document.write("This is what a " + superText.sup() + " looks like.")

    document.write("This is what a " + subText.sub() + " looks like.")
    Вывод будет таким же, как и в нижеследующем HTML:
    This is what a superscript looks like.

    This is what a subscript looks like.

    См. также

    .

    Switch

    Позволяет программе вычислять выражение и попытаться сопоставить его значение с меткой case.

    Реализован в

    JavaScript 1.2, NES 3.0

    Версия ECMA

    ECMA-262, Edition 3


    Синтаксис

    switch (expression){

    case label :

    statements;

    break;

    case label :

    statements;

    break;

    ...

    default : statements;

    }

    Параметры


    expression

    Значение, сопоставляемое с label. label Идентификатор, используемый при сопоставлении с expression.
    statements Блок операторов, выполняемый однократно при совпадении expression с label.

    Описание

    Если совпадение найдено, программа выполняет ассоциированный оператор. Если несколько case совпадают с предоставленным значением, выбирается первый совпавший case, даже если все эти case не равны один другому.
    Программа сначала ищет метку/label, совпадающую со значением expression/выражения, а затем выполняет ассоциированный оператор. Если ни один лэйбл не совпал, программа ищет необязательный оператор default и, если он найден, выполняет ассоциированный оператор. Если оператор default не найден, программа продолжает выполняться с оператора после конца блока switch.
    Необязательный оператор , ассоциированный с каждой меткой case, гарантирует что прервёт выполнение блока switch, после того как совпадающий оператор будет выполнен, и продолжит выполнение с оператора, идущего после блока switch. Если опущен, программа продолжает выполнение с оператора, следующего после оператора switch.

    Примеры

    Если expression вычисляется до "Bananas", программа ищет совпадение этого значения с case "Bananas" и выполняет ассоциированный оператор. Если обнаружен , программа прерывает выполнение блока switch и выполняет оператор, идущий после switch. Если отсутствует, оператор для case
    "Cherries" также будет выполнен.
    switch (i) {
    case "Oranges" :

    document.write("Oranges are $0.59 a pound.
    ");

    break;

    case "Apples" :

    document.write("Apples are $0.32 a pound.
    ");

    break;

    case "Bananas" :

    document.write("Bananas are $0.48 a pound.
    ");

    break;

    case "Cherries" :

    document.write("Cherries are $3.00 a pound.
    ");

    break;

    default :

    document.write("Sorry, we are out of " + i + ".
    ");

    }

    document.write("Is there anything else you'd like?
    ");

    Tan

    Возвращает тангенс числа.

    Метод из Static Реализован вJavaScript 1.0, NES 2.0 Версия ECMAECMA-262
    Синтаксис
    tan(x)
    Параметр

    x

    Число.
    Описание

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

    Эта функция возвращает тангенс переменной x:
    function getTan(x) {

    return Math.tan(x)

    }

    См. также

    , , , , , .

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    Test

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

    Метод изЭкземпляры .
    Реализован вJavaScript 1.2, NES 3.0
    Версия ECMAECMA 262, Edition 3

    Синтаксис

    regexp.test([str])
    Параметры

    regexp

    Имя регулярного выражения. Может быть именем переменной или литералом.str Строка, относительно которой выполняется совпадение с регулярным выражением.
    Описание

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


    Этот пример печатает сообщение, содержание которого зависит от успешности теста:
    function testinput(re, str){

    if (re.test(str))

    midstring = " contains ";

    else

    midstring = " does not contain ";

    document.write (str + midstring + re.source);

    }

    This

    Это ключевое слово ссылается на текущий объект. Вообще, в методе this
    ссылается на вызывающий объект.

    Реализован вJavaScript 1.0
    Версия ECMAECMA-262

    Синтаксис

    this[.propertyName]

    Примеры

    Предположим, функция под названием validate
    проверяет значение свойства объекта и верхнее и нижнее значения:
    function validate(obj, lowval, hival) {

    if ((obj.value < lowval) (obj.value > hival))

    alert("Invalid Value!")

    }
    Вы можете вызвать validate
    в обработчике события onChange в каждом элементе формы, используя this
    для передачи е1 (функции) элемента формы, как в следующем примере:
    Enter a number between 18 and 99:


    onChange="validate(this, 18, 99)">



    Throw

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

    Реализован в

    JavaScript 1.4

    Версия ECMA

    ECMA-262, Edition 3


    Синтаксис

    throw expression;

    Параметры
    expression

    Значение для throw.

    Описание

    Использование оператора throw для вызова исключения. Если вы вызываете исключение, оно специфицирует значение для исключения. Вот вызовы нескольких исключений.
    throw "Error2"; // генерирует исключение со строковым значением

    throw 42; // генерирует исключение с числовым значением 42

    throw true; // генерирует исключение со значением true

    Примеры


    Пример 1: Отлов объекта.

    При отлове исключения Вы можете специфицировать объект. Затем Вы можете обращаться к свойствам объекта в блоке catch. В этом примере создаётся объект myUserException типа UserException, и он используется в операторе throw.
    function UserException (message) {

    this.message=message;

    this.name="UserException";

    }

    function getMonthName (mo) {

    mo=mo-1; // Уточняет число month относительно индекса массива (1=Jan, 12=Dec)

    var months=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul",

    "Aug","Sep","Oct","Nov","Dec");

    if (months[mo] != null) {

    return months[mo];

    } else {

    myUserException=new UserException("InvalidMonthNo");

    throw myUserException;

    }

    }
    try {

    // операторы для try;

    monthName=getMonthName(myMonth)

    }

    catch (e) {

    monthName="unknown";

    logMyErrors(e.message,e.name); // передаёт объект исключения обработчику ошибок

    }
    Пример 2: Отлов объекта.

    Здесь тестируется строка для ввода zip-кода США. Если zip-код использует неверный формат, оператор throw вызывает исключение, создавая объект типа ZipCodeFormatException.
    /*

    * Создаётся объект ZipCode.

    *

    * Принимаемые форматы zip-кода:

    * 12345

    * 12345-6789

    * 123456789

    * 12345 6789

    *

    * Если аргумент, передаваемый ZipCode-конструктору, не соответствует

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

    */
    function ZipCode(zip) {

    zip = new String(zip);

    pattern = /[0-9]{5}([- ]?[0-9]{4})?/;

    if (pattern.test(zip)) {

    // значением zip-кода будет первое найденное совпадение в строке

    this.value = zip.match(pattern)[0];

    this.valueOf = function (){return this.value};

    this.toString = function (){return String(this.value)};

    } else {

    throw new ZipCodeFormatException(zip);

    }

    }
    function ZipCodeFormatException(value) {

    this.value = value;

    this.message =

    "does not conform to the expected format for a zip code";

    this.toString =

    function (){return this.value + this.message};

    }
    /*

    * Эти строки могут находиться в скрипте, проверяющем данные адреса
    * для адресов США.

    */
    var ZIPCODE_INVALID = -1;
    var ZIPCODE_UNKNOWN_ERROR = -2;
    function verifyZipCode(z) {

    try {

    z = new ZipCode(z);

    }

    catch (e) {

    if (e instanceof ZipCodeFormatException) {

    return ZIPCODE_INVALID;

    }

    else {

    return ZIPCODE_UNKNOWN_ERROR;

    }

    }

    return z;

    }
    a=verifyZipCode(95060); // возвращает 95060

    b=verifyZipCode(9560;) // возвращает -1

    c=verifyZipCode("a"); // возвращает -1

    d=verifyZipCode("95060"); // возвращает 95060

    e=verifyZipCode("95060 1234"); // возвращает 95060 1234

    Пример 3: Повторный вызов исключения.

    Вы можете использовать throw для повторного вызова исключения после его отлова. Следующий пример отлавливает исключение с числовым значением и вызывает его повторно, если его значение больше 50. Повторно вызванное исключение передаётся в содержащую функцию, или на верхний уровень так, чтобы пользователь увидел его.
    try {

    throw n // вызывает исключение с числовым значением

    }

    catch (e) {

    if (e <= 50) {

    // операторы для обработки исключений 1-50

    }

    else {

    // не может обработать это исключение, поэтому вызывает его повторно

    throw e

    }

    }

    См. также


    ToExponential

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

    Метод из Реализован в
    JavaScript 1.5 Версия ECMAECMA-262, Edition 3

    Синтаксис

    toExponential([fractionDigits])
    Параметр

    fractionDigits

    Целое, специфицирующее количество цифр после десятичной точки. По умолчанию - столько цифр, сколько необходимо для специфицирования числа.
    Описание

    Метод Number.prototype.toExponential возвращает строку, представляющую объект Number в экспоненциальной нотации, с одной цифрой перед десятичной точкой, округлённое до fractionDigits после после десятичной точки. Если аргумент fractionDigits
    опущен, количество цифр после десятичной точки по умолчанию равно количеству цифр, необходимых для представления уникального значения.
    Если Вы используете метод toExponential для числового литерала и этот числовой литерал не имеет экспоненты и десятичной точки, оставьте пространство перед точкой, предшествующей вызову метода, чтобы предотвратить интерпретацию этой точки как десятичной.
    Если число имеет больше цифр, чем запрошено параметром fractionDigits, число округляется до ближайшего числа, представляемого цифрами fractionDigits . См. обсуждение округления значений в описании метода , которое применимо также к toExponential.

    Примеры


    var num=77.1234

    alert("num.toExponential() is " + num.toExponential()) //выводит 7.71234e+1

    alert("num.toExponential(4) is " + num.toExponential(4)) //выводит 7.7123e+1

    alert("num.toExponential(2) is " + num.toExponential(2)) //выводит 7.71e+1

    alert("77.1234.toExponential() is " + 77.1234.toExponential())

    //выводит 7.71234e+1

    alert("77 .toExponential() is " + 77 .toExponential()) //выводит 7.7e+1
    См. также

    , ,
    .

    ToFixed

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

    Метод из Реализован в
    JavaScript 1.5 Версия ECMAECMA-262, Edition 3

    Синтаксис

    toFixed([fractionDigits])
    Параметр

    fractionDigits

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

    Описание

    Метод Number.prototype.toFixed возвращает строку, представляющую объект Number в нотации с фиксированной точкой, округлённый до количества цифр после десятичной точки, специфицированного fractionDigits..
    Вывод toFixed может быть более точным, чем toString
    для некоторых значений, поскольку toString
    выводит только несколько значащих цифр, достаточных для отличения числа от соседних числовых значений.
    Если число содержит больше цифр, чем специфицировано параметром fractionDigits , оно округляется до ближайшего числа, представляемого цифрами fractionDigits. Если число расположено точно посередине между двумя представимыми числами, оно округляется в сторону от нуля (в сторону увеличения - если оно положительное, в сторону уменьшения - если отрицательное). Таким образом:
    0.124.toFixed(2) возвращает "0.12"
    0.125.tofixed(2) возвращает "0.13", поскольку 0.125 это точно посередине между 0.12 и 0.13
    0.126.tofixed(2) возвращает "0.13".
    Следуя данному соглашению, можно ожидать, что 0.045.toFixed(2)
    возвратит "0.05", но оно возвращает "0.04". Это происходит из-за того способа представления компьютером чисел с плавающей точкой IEEE 754. Стандарт IEEE 754 использует двоичные дроби (доли нуля и единицы после точки). Так же, как некоторые числа, такие как 1/3, не представляются точно десятичными дробями, другие числа, как 0.045, не представляются точно двоичными дробями. Стандарт IEEE 754 диктует, что 0.045 приближается до числа 0.04499999999999999833466546306226518936455249786376953125, которое может быть точно представлено как двоичная дробь. Это приближение ближе к 0.04, чем к 0.05, поэтому 0.045.toFixed(2) возвращает "0.04".
    Примеры

    var num=10.1234

    alert("num.toFixed() is " + num.toFixed()) //выводит 10

    alert("num.toFixed(4) is " + num.toFixed(4)) //выводит
    10.1234 alert("num.toFixed(2) is " + num.toFixed(2)) //выводит 10.12
    См. также

    , ,
    /

    ToGMTString

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

    Метод из Реализован в JavaScript 1.0, NES 2.0
    Не рекомендуется в JavaScript 1.3Версия ECMA
    ECMA-262
    Синтаксис
    toGMTString()
    Параметры

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

    Описание

    toGMTString больше не используется и заменён на метод .
    Точный формат значения, возвращаемого методом toGMTString, варьируется в зависимости от платформы.
    Вы должны использовать вместо toGMTSTring.
    Примеры

    В это примере today это Date-объект:
    today.toGMTString()
    В следующем примере метод toGMTString конвертирует дату к GMT (UTC), используя часовой пояс операционной системы, и возвращает строковое значение примерно такой формы. Точный формат зависит от платформы.
    Mon, 18 Dec 1995 17:28:35 GMT

    См. также

    , .

    ToLocaleString

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

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

    Синтаксис

    toLocaleString()
    Параметры

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

    Описание

    Метод toLocaleString при форматировании данных основывается на используемой операционной системе. Он конвертирует дату в строку, используя соглашения по форматированию ОС, в которой запущен скрипт. Например, в США месяц вводится до числа (04/15/98), в то время как в Германии число идёт впереди месяца (15.04.98). Если ОС не совместима с year-2000 и не использует полный год для лет до 1900 или после 2000, toLocaleString возвращает строку, которая не совместима с year-2000.

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

    Примеры

    В этом примере today является Date -объектом:
    today = new Date(95,11,18,17,28,35) //месяцы даны числами от 0 до 11

    today.toLocaleString()
    Здесь toLocaleString возвращает строковое значение, которое похоже на следующую форму. Точный формат зависит от платформы.
    12/18/95 17:28:35


    См. также

    , .

    ToLowerCase

    Вызывающее строковое значение возвращается конвертированным в нижний регистр.

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

    toLowerCase()
    Параметры

    Отсутствуют.
    Описание

    Метод toLowerCase возвращает в качестве значения строку, конвертированную в нижний регистр.
    toLowerCase не влияет на значение самой строки.

    Примеры


    Следующий пример выводит строку "alphabet" в нижнем регистре:
    var upperText="ALPHABET"

    document.write(upperText.toLowerCase())
    См. также

    .

    ToPrecision

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

    Метод из Реализован в
    JavaScript 1.5Версия ECMA
    ECMA-262, Edition 3
    Синтаксис

    toPrecision([precision])
    Параметр

    precision

    Целое число, специфицирующее количество цифр после десятичной точки.

    Описание

    Метод Number.prototype.toPrecision
    возвращает строку, представляющую Number-объект в нотации с фиксированной точкой или экспоненциальной нотации, округлённый до значащих цифр precision .
    Если Вы используете метод toPrecision
    для числовых литералов и числовой литерал не содержит экспоненты или десятичной точки, оставьте пространство перед точкой, предшествующей вызову метода, для предотвращения интерпретации этой точки как десятичной точки.
    Если аргумент precision отсутствует, поведение аналогично Number.prototype.toString.
    Если число содержит больше цифр, чем запрошено параметром precision, число округляется до ближайшего числа, представляемого цифрами precision. См. в описании метода обсуждение округления чисел, применяемого также в toPrecision.
    Примеры


    var num=5.123456

    alert("num.toPrecision() is " + num.toPrecision()) //выводит 5.123456

    alert("num.toPrecision(4) is " + num.toPrecision(4)) //выводит 5.123

    alert("num.toPrecision(2) is " + num.toPrecision(2)) //выводит 5.1

    alert("num.toPrecision(2) is " + num.toPrecision(1)) //выводит 5

    alert("num.toPrecision(2) is " + num.toPrecision(1)) //выводит 5

    alert("1250 .toPrecision() is " + 1250 .toPrecision(2)) //выводит 1.3e+3

    alert("1250 .toPrecision(5) is " + 1250 .toPrecision(5)) //выводит 1250.0


    См. также

    , , /

    ToSource

    Возвращает строку исходного кода массива.

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

    Синтаксис

    toSource()


    Параметры

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


    Описание

    Метод toSource возвращает следующие значения:
  • Для встроенного объекта Array метод toSource
    возвращает следующие строки, обозначающие недоступность исходного кода:

  • function Array() {

    [native code]

    }
  • Для Array-экземпляров toSource возвращает строку исходного кода.

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

    Примеры

    Чтобы проверить исходный код массива:
    alpha = new Array("a", "b", "c")

    alpha.toSource() //возвращает ["a", "b", "c"]
    См. также


    Возвращает строку исходного кода объекта.

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

    Синтаксис

    toSource()


    Параметры

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


    Описание

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

  • function Boolean() {

    [native code]

    }
  • Для Boolean-экземпляров toSource возвращает строку исходного кода.

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

    См. также




    Эта возможность отсутствует в спецификации ECMA, которая соответствует JavaScript 1.3, но ожидается её появление в следующей версии.
    Возвращает строку исходного кода функции.

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

    Синтаксис

    toSource()

    Параметры

    Отсутствуют.
    Описание

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

  • Function Function() {

    [native code]

    }
  • Для специальных функций метод toSource возвращает JavaScript-источник, который определяет объект как строку.

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

    , .


    Возвращает строку с исходным кодом объекта.

    Метод из Реализован в
    JavaScript 1.3
    Синтаксис
    toSource()
    Параметры

    Отсутствуют.
    Описание

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

    [native code]

    }
  • Для экземпляров Number, toSource возвращает строку исходного кода.

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

    См. также

    .


    Возвращает строку - исходный код объекта.

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

    Синтаксис

    toSource()
    Параметры

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

    Описание

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

    [native code]

    }
  • Для экземпляров Object, toSource возвращает строку исходного кода.
  • Для специальных объектов, toSource
    возвращает JavaScript-источник, который определяет объект как строку.

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


    Следующий код определяет тип объекта Dog
    и создаёт theDog, объект типа Dog:
    function Dog(name,breed,color,sex) {

    this.name=name

    this.breed=breed

    this.color=color

    this.sex=sex

    }

    theDog = new Dog("Gabby","Lab","chocolate","girl")
    Вызов метода toSource из theDog отображает JavaScript-источник, который определяет этот объект:
    theDog.toSource()

    //возвращает "{name:"Gabby", breed:"Lab", color:"chocolate", sex:"girl"}
    См. также

    .


    Возвращает строку исходного кода объекта.

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

    Синтаксис

    toSource()
    Параметры

    Отсутствуют.
    Описание

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

    [native code]

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

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

    .


    Возвращает строку - исходный код объекта.

    Метод из Реализован вJavaScript 1.3
    Синтаксис

    toSource()
    Параметры

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

    Описание

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

    [native code]

    }
    Для экземпляров String или строковых литералов, toSource возвращает строку исходного кода.
    Это метод обычно вызывается внутренне в JavaScript, а не явно в коде.

    ToString

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

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

    Синтаксис

    toString()


    Параметры

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


    Описание

    Объект переопределяет метод toString
    из . Для объектов метод toString объединяет массив и возвращает одну строку, содержащую все элементы массива, разделённые запятыми. Например, следующий код создаёт массив и использует toString
    для конвертации массива в строку.
    var monthNames = new Array("Jan","Feb","Mar","Apr")

    myVar=monthNames.toString() // присваивает "Jan,Feb,Mar,Apr" переменной myVar
    JavaScript вызывает метод toString
    автоматически, когда массив представлен как текстовое значение или когда на массив имеется ссылка при конкатенации строк.


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


    JavaScript 1.2.

    Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге
    См. также


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

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


    Синтаксис

    toString()

    Параметры

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

    Описание

    Объект переопределяет метод toString объекта ; он не наследует . Для -объектов метод toString возвращает строковое представление объекта.
    JavaScript вызывает метод toString автоматически, если Boolean представлен как текстовое значение или если на Boolean имеется ссылка при конкатенации строк.
    Для объектов и значений встроенный метод toString возвращает строку "true" или "false", в зависимости от значения булева объекта. В следующем коде flag.toString возвращает "true".
    var flag = new Boolean(true)

    var myVar=flag.toString()


    См. также



    Возвращает строку исходного кода функции.

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

    Синтаксис

    toString()

    Параметры

    Отсутствуют.
    Описание

    Объект переопределяет метод toString объекта ; он не наследует . Для объектов метод toString возвращает строку представления объекта.
    JavaScript вызывает метод toString автоматически при представлении как текстового значения или когда на ссылаются при конкатенации строк.
    Для объектов встроенный метод toString декомпилирует функцию обратно в JavaScript-исходник, который определяет функцию. Эта строка содержит ключевое слово Function, список аргументов, фигурные скобки и тело функции.
    Например, предположим, у нас есть следующий код, определяющий тип объекта Dog
    и создающий theDog, объект типа Dog:
    Function Dog(name,breed,color,sex) {

    this.name=name

    this.breed=breed

    this.color=color

    this.sex=sex

    }
    theDog = new Dog("Gabby","Lab","chocolate","girl")
    В любое время, когда Dog
    используется в строковом контексте, JavaScript автоматически вызывает функцию toString, которая возвращает следующие строки:
    Function Dog(name, breed, color, sex) { this.name = name; this.breed = breed; this.color = color; this.sex = sex; }


    См. также

    .
    valueOf">


    Возвращает строковое представление JavaArray.

    Метод из Реализован в JavaScript 1.1, NES 2.0


    Параметры

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

    Описание

    Вызывает метод java.lang.Object.toString, который возвращает значение следующего выражения:
    JavaArray.getClass().getName() + '@' +

    java.lang.Integer.toHexString(JavaArray.hashCode())


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

    JavaScript 1.3 и ранее.

    Метод toString наследуется из объекта Object и возвращает следующее значение:
    [object JavaArray]

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.


    Метод. Конвертирует JSObject в String.
    Переопределяет: toString
    в классе java.lang.Object.
    Объявление
    public String toString()

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.


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

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

    toString()

    toString([radix])
    Параметр

    radix

    Цело число в диапазоне от 2 до 36, специфицирующее базу для использования при представлении числовых значений.

    Описание

    Объект переопределяет метод toString объекта ; он не наследует . Для объектов , метод toString возвращает строковое представление объекта.
    JavaScript вызывает метод toString
    автоматически, когда число представляется как текстовое значение или когда на число ссылаются в конкатенации строк.
    Если Вы используете метод toString
    для числовых литералов и числовой литерал не содержит экспоненты и десятичной точки, оставьте пространство перед точкой, предшествующей вызову метода, для предотвращения интерпретации этой точки как десятичной точки.
    Для -объектов и значений, встроенный метод toString возвращает строку, представляющую значение числа.
    var howMany=10;

    alert("howMany.toString() is " + howMany.toString())

    alert("45 .toString() is " + 45 .toString())
    См. также

    , ,
    .


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

    Метод из Реализован вJavaScript 1.0 Версия ECMAECMA-262

    Синтаксис

    toString()
    Описание

    Каждый объект имеет метод toString, который автоматически вызывается, если объект представляется как текстовое значение или если на объект имеется ссылка в конкатенации строк. Например, следующие примеры требуют, чтобы theDog был представлен как строка:
    document.write(theDog)

    document.write("The dog is " + theDog)
    По умолчанию метод toString наследуется каждым объектом - потомком от Object. Вы можете переопределять этот метод для специальных/custom объектов, создаваемых Вами. Если Вы не переопределяете toStringв специальном объекте, toString
    возвращает [object type], где type это тип объекта или имя функции constructor, создавшей этот объект.
    Например:
    var o = new Object()

    o.toString // возвращает [object Object]

    Встроенные методы toString.

    Каждый встроенный объект ядра JavaScript переопределяет метод toString
    из Object для возвращения соответствующего значения. JavaScript вызывает этот метод по мере необходимости для конвертации объекта в строку.

    Переопределение метода toString по умолчанию.

    Вы можете создать функцию, вызываемую вместо метода toString
    по умолчанию. Метод toString
    не принимает аргументов и должен возвращать строку. Метод toString, который Вы создаёте, может иметь любое нужное Вам значение, но он будет лучше использоваться, если будет работать с информацией объекта.
    Этот код определяет тип объекта Dog и создаёт theDog, объект типа Dog:
    function Dog(name,breed,color,sex) {

    this.name=name

    this.breed=breed

    this.color=color

    this.sex=sex

    }
    theDog = new Dog("Gabby","Lab","chocolate","girl")
    Если Вы вызываете метод toString
    в специальном объекте object, он возвращает значение по умолчанию, унаследованное из Object:
    theDog.toString() //возвращает [object Object]
    Следующий код создаёт dogToString, функцию, которая будет использоваться для переопределения метода toString
    по умолчанию. Эта функция генерирует строку, содержащую каждое свойство, в форме "property = value;".
    function dogToString() {

    var ret = "Dog " + this.name + " is [\n"

    for (var prop in this)

    ret += " " + prop + " is " + this[prop] + ";\n"

    return ret + "]"

    }
    Следующий код присваивает определённую пользователем функцию методу toString объекта:
    Dog.prototype.toString = dogToString
    Замещая предыдущий код, theDog
    используется в любой момент в строковом контексте, JavaScript автоматически вызывает функцию dogToString, которая возвращает:
    Dog Gabby is [

    name is Gabby;

    breed is Lab;

    color is chocolate;

    sex is girl;

    ]
    Метод toString объекта обычно вызывается JavaScript,но Вы сами можете вызывать его так:
    var dogString = theDog.toString()
    Обратная Совместимость



    JavaScript 1.2.

    Поведение метода toString
    зависит от того, специфицируете ли Вы LANGUAGE="JavaScript1.2" в тэге
    Вывод скрипта:
    o.p changed from 1 to 2
    o.p changed from 2 to 3
    o.p changed from 3 to 4

    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    While

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

    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262


    Синтаксис

    while (condition) {

    statements

    }

    Параметры

    condition

    Вычисляется перед началом каждой итерации цикла. Если это условие вычисляется в true, выполняются операторы в следующем блоке. Если condition вычисляется в false, выполнение продолжается в операторах, следующих после statements.
    statements Блок операторов, выполняемый, пока условие true. Хотя это и не обязательно, желательно выделять эти операторы в коде отступом относительно начала оператора.

    Примеры

    Следующий цикл while итерирует, пока n меньше трёх:
    n = 0;

    x = 0;

    while(n < 3) {

    n ++;

    x += n;

    }
    При каждой итерации цикла n увеличивается и прибавляется к x. Следовательно, x и n принимают следующие значения:
  • После первого прохода: n = 1 и x = 1

  • После второго прохода: n = 2 и x = 3

  • После третьего прохода: n = 3 и x = 6

  • После завершения третьего прохода цикла, условие n < 3 больше не true, поэтому цикл прерывается.

    With

    Устанавливает объект по умолчанию для набора операторов.

    Реализован в

    JavaScript 1.0, NES 2.0

    Версия ECMA

    ECMA-262


    Синтаксис

    with (object){

    statements

    }

    Параметры


    object

    Специфицирует для операторов объект по умолчанию. Скобки вокруг object необходимы. statements Блок операторов.

    Описание

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

    Примеры

    Следующий оператор специфицирует, что объект это объект по умолчанию. Операторы в блоке with обращаются к свойству и методам и без специфицирования объекта. JavaScript принимает для этих ссылок объект .
    var a, x, y

    var r=10

    with (Math) {

    a = PI * r * r

    x = r * cos(PI)

    y = r * sin(PI/2)

    }


    Copyright © 2000 Все права зарезервированы.
    Дата последнего обновления: 28 сентября 2000 г.

    

        Бизнес: Предпринимательство - Малый бизнес - Управление