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

         

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


Логические операции обычно используются с 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, поэтому регистр игнорируется.

<SCRIPT>

str = "For more information, see Chapter 3.4.5.1";

re = /(chapter \d+(\.\d)*)/i;

found = str.match(re);

document.write(found);

</SCRIPT>

Это возвращает массив, содержащий Chapter 3.4.5.1,Chapter 3.4.5.1,.1

'Chapter 3.4.5.1' это первое совпадение и первое значение, запомненное из (Chapter \d+(\.\d)*).

'.1' это второе значение, значение, запомненное из (\.\d).

Пример 2.

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

<SCRIPT>

str = "abcDdcba";

newArray = str.match(/d/gi);

document.write(newArray);

</SCRIPT>

Возвращённый массив содержит 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


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

Метод из

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.

См. также

.



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



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">



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



% (Modulus)


Модулус-операция используется так:

var1 % var2

Возвращает целочисленный остаток от деления первого операнда на второй, то есть, var1 modulo var2, в вышеуказанной операции , где var1 и var2 это переменные. Функция modulo даёт целочисленный остаток от деления var1 на var2. Например, 100 % 3 возвращает 1.



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: добавлены методы ,

и .

Версия ECMA

ECMA-262


Создание

 

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

new Number(value)

Параметр

value

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

Описание

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

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

Для создания числовых объектов, в которые можно добавлять свойства. Вероятно Вам редко нужно будет создавать объект Number.

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

JavaScript 1.2:

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

Например,

x=Number("three");

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

печатает NaN.

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


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

Свойство

Описание

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

Наибольшее представляемое число.

Наименьшее представляемое число.

Специальное значение "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)



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


Побитовые операции рассматривают свои операнды как наборы 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 битов вправо, отбрасывая смещённые биты и заполняя слева нулями.



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



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

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

Операции сдвига конвертируют свои операнды до 32-битных чисел и возвращают результат того же типа, что и у левого операнда.



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 г.



Дата последнего обновления: 28 сентября



    

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 &nbsp&nbsp Специальные символы в регулярных выражениях

Символ

Значение\

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

Например, /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" для обозначения результатов совпадений с соответствующими скобками в патэрне регулярного выражения.

<SCRIPT>

re = /(\w+)\s(\w+)/;

str = "John Smith";

newstr=str.replace(re, "$2, $1");

document.write(newstr)

</SCRIPT>

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

 

Пример 2.

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

метод exec использует значение RegExp.input в качестве аргумента.

<HTML>

<SCRIPT>

function getInfo() {

   re = /(\w+)\s(\d+)/;

   var m = re.exec();

   window.alert(m[] + ", your age is " + m[2]);

}

</SCRIPT>

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

<FORM>

<INPUT TYPE:"TEXT" NAME="NameAge" onChange="getInfo(this);">

</FORM>

</HTML>



RemoveMember


Метод. Удаляет свойство объекта в JavaScript.

Объявление
public void removeMember(String name)



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.'

<SCRIPT>

re = /apples/gi;

str = "Apples are round, and apples are juicy.";

newstr=str.replace(re, "oranges");

document.write(newstr)

</SCRIPT>

Будет напечатано "oranges are round, and oranges are juicy."

 
Пример 2.

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

<SCRIPT>

str = "Twas the night before Xmas...";

newstr=str.replace(/xmas/i, "Christmas");

document.write(newstr)

</SCRIPT>

Будет напечатано "Twas the night before Christmas..."

Пример 3.

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

<SCRIPT LANGUAGE="JavaScript1.2">

re = /(\w+)\s(\w+)/;

str = "John Smith";

newstr = str.replace(re, "$2, $1");

document.write(newstr)

</SCRIPT>

Будет напечатано "Smith, John".

Пример 4.

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

Функция возвращает градусы по Цельсию, оканчивающиеся буквой 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 г.



<< (Сдвиг Влево)


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

Например, 9<<2 даёт 36, поскольку 1001 сдвигается на 2 бита влево и становится 100100, т.е. 36.



>> (Сдвиг Вправо с Сохранением Знака)


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

Например, 9>>2 даст 2, поскольку 1001, двинутое на 2 бита вправо, становится 10, т.е. 2. Аналогично, -9>>2 даст -3, поскольку знак сохраняется.



>>> (Сдвиг Вправо с Заполнением Нулями)


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

Излишние биты, сдвинутые вправо, отбрасываются. Слева биты заполняются нулями.

Например, 19>>>2 даёт 4, поскольку 10011, сдвинутое два раза вправо, становится 100, то есть 4. Для неотрицательных чисел сдвиг вправо с заполнением нулями и сдвиг вправо с сохранением знака дают тот же самый результат.



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)


См. также

, .



SetMember


Метод. Устанавливает значение свойства объекта в JavaScript. Эквивалентен "this.name= value" в JavaScript.


Объявление

public void setMember(String name, Object value)



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)


См. также

, .



SetSlot


Метод. Устанавливает значение элемента массива объекта в JavaScript. Эквивалентен "this[index] = value" в JavaScript.


Объявление

public void setSlot(int index, Object value)



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


См. также

, .