JavaScript 1.2: модифицировано поведение конструктора Number.
JavaScript 1.3: добавлен метод .
и .
Числовое значение создаваемого объекта.
Для доступа к его константным свойствам, которые представляют наибольшее и наименьшее представляемые числа, положительную и отрицательную бесконечность и значение Not-a-Number/Не-Число.
Для создания числовых объектов, в которые можно добавлять свойства. Вероятно Вам редко нужно будет создавать объект Number.
Свойства Number это свойства самого класса, а не отдельных объектов Number.
Number(x) теперь даёт NaN, а не ошибку, если x это строка, не содержащая правильно сформированный числовой литерал.
печатает NaN.
Вы можете конвертировать любой объект в число, используя функцию верхнего уровня .
Свойства. Резюме.
Метод
Описание
toExponential | |
Возвращает строку, представляющую число в экспоненциальной нотации.
| | |
Возвращает строку, представляющую число в нотации с фиксированной точкой.
toPrecision | |
Возвращает строку, представляющую число специфицированной точности с фиксированной точкой.
| |
Возвращает литерал объекта, представляющий специфицированный 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.
Объект ядра
|
Реализован в
| 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 | |
Версия ECMA | | ECMA-262 | |
Базовая операция присвоения - знак равенства (=), который присваивает левому операнду значение правого операнда. То есть, x = y присваивает значение y значению x. Другие операции присвоения являются обычно сокращениями стандартных операций, как показано в таблице.
Таблица 5.2 Операции Присвоения
|
Сокращённая Операция
Значение
x += y | x = x + y |
x -= y | x = x - y |
x *= y | x = x * y |
x /= y | x = x / y |
x %= y | x = x % y |
x <<= y | x = x << y |
x >>= y | x = x >> y |
x >>>= y | x = x >>> y |
x &= y | x = x & y |
x ^= y | x = x ^ y |
x |= y | x = x | y |
В нестандартных ситуациях операция присвоения не имеет идентичного значения из колонки Значение из . Если левый операнд операции присвоения сам содержит операцию присвоения, левый операнд вычисляется только однократно. Например:
a[i++] += 5 //i вычисляется только один раз
a[i++] = a[i++] + 5 //i вычисляется дважды
Операции Сравнения
Операция сравнения сравнивает свои операнды и возвращает логическое значение, базируясь на верности /true сравнения.
Реализована в | | JavaScript 1.0
JavaScript 1.3: добавлены операции === и !==
JavaScript 1.4: == не рекомендуется для сравнения двух объектов JSObject. Используйте метод . | |
Версия ECMA | | ECMA-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
|
Версия ECMA | ECMA-262
Синтаксис
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)
Параметры
Строка, представляющая дату.
Описание
Метод 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
|
Версия ECMA | ECMA-262
Примеры
Эта функция возвращает значение pi:
function getPi() {
return Math.PI
}
Описание
Поскольку PI это static-метод из Math, Вы всегда используете его так: Math.PI, а не как свойство Math-объекта, созданного Вами.
Побитовые Логические Операции
Реализованы в
| JavaScript 1.0
|
Версия ECMA | ECMA-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 | |
Версия ECMA | | ECMA-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
|
Версия ECMA
| ECMA-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 |
Версия ECMA
| ECMA-262
Синтаксис
pow(x,y)
Параметры
Число базы.
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 |
Версия ECMA
| ECMA-262
Описание
Вы можете добавлять новые свойства и методы в существующий класс, добавляя их к прототипу, ассоциированному с функцией constructor данного класса. Синтаксис добавления нового свойства или метода таков:
fun.prototype.name = value
где
Имя объекта функции 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 |
Версия ECMA
| ECMA-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)
Параметр
Элементы, добавляемые в конец массива.
Описание
Поведение метода 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: все платформы.
|
Версия ECMA
| ECMA-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"])
Параметры
Текст регулярного выражения.
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" для обозначения результатов совпадений с соответствующими скобками в патэрне регулярного выражения.
<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)
Параметры
Имя регулярного выражения. Это может быть имя переменной или литерал.
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;
Параметры
Возвращаемое выражение.
Примеры
Следующая функция возвращает квадрат своего аргумента 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 |
Версия ECMA
| ECMA-262
Синтаксис
round(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)
Параметр
Имя регулярного выражения. Это может быть имя переменной или литерал..
Описание
В случае успеха, 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 |
Версия ECMA
| ECMA-262
Синтаксис
setDate(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])
Параметры
Целое, специфицирующее год, например, 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)
Параметры
Целое в диапазоне от 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)
Параметры
Число в диапазоне от 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)
Параметры
Целое в диапазоне от 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)
Параметры
Целое в диапазоне от 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)
Параметры
Целое от 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 )
Параметры
Целое число - количество миллисекунд, прошедших после 1 января 1970 года 00:00:00.
Описание
Используйте метод setTime, чтобы помочь назначить дату и время другому объекту Date.
Примеры
theBigDay = new Date("July 1, 1999")
sameAsBigDay = new Date()
sameAsBigDay.setTime(theBigDay.getTime())
См. также
, .