Спецификация ECMAScript 5.1 с аннотациями

Поделиться

15.8 Объект Math #

Объект Math является единственным объектом, имеющим некоторые именованные свойства, часть которых является функциями.

Значением внутреннего свойства [[Prototype]] объекта Math является стандартный встроенный объект-прототип Object (15.2.4). Значение внутреннего свойства [[Class]] объекта Math равно "Math".

Объект Math не имеет встроенного свойства [[Construct]]. Использование объекта Math в качестве конструктора с оператором new невозможно.

Объект Math не имеет внутреннего свойства [[Call]]. Вызов объекта Math в качестве функции невозможен.

ПРИМЕЧАНИЕ В данной спецификации фразу "числовое значение x" следует понимать, как указано в пункте 8.5.

15.8.1 Свойства-значения объекта Math #

15.8.1.1 E #

Цифровое значение e, основания натуральных логарифмов, равного приблизительно 2,7182818284590452354.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }.

15.8.1.2 LN10 #

Цифровое значение натурального логарифма 10, равное приблизительно 2,302585092994046.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }.

15.8.1.3 LN2 #

Цифровое значение натурального логарифма 2, равное приблизительно 0,6931471805599453.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }

15.8.1.4 LOG2E #

Числовое значение логарифма e (основания натуральных логарифмов) по основанию 2, равное приблизительно 1,4426950408889634.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }.

ПРИМЕЧАНИЕ Значение Math.LOG2E приблизительно равно обратному значению Math.LN2.

15.8.1.5 LOG10E #

Числовое значение логарифма e (основания натуральных логарифмов) по основанию 10, равное приблизительно 0,4342944819032518.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }.

ПРИМЕЧАНИЕ Значение Math.LOG10E приблизительно равно обратному значению Math.LN10.

15.8.1.6 PI #

Числовое значение π, отношения длины окружности к её диаметру, равное приблизительно 3,1415926535897932.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }.

15.8.1.7 SQRT1_2 #

Числовое значение квадратного корня из ½, равное приблизительно 0,7071067811865476.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }.

ПРИМЕЧАНИЕ Значение Math.SQRT1_2 приблизительно равно обратному значению Math.SQRT2.

15.8.1.8 SQRT2 #

Числовое значение квадратного корня из 2, равное приблизительно 1,4142135623730951.

Это свойство имеет атрибуты { [[Writable]]: false, [[Enumerable]]: false, [[Configurable]]: false }.

15.8.2 Свойства-функции объекта Math #

Каждая из перечисленных ниже функций объекта Math применяет абстрактный оператор ToNumber к каждому из своих аргументов (слева направо, если аргументов несколько), а затем производит вычисление с использованием полученных числовых значений.

В перечисленных ниже функциях обозначения NaN, 0, +0, −∞ и + означают числовые значение, описанные в пункте 8.5.

ПРИМЕЧАНИЕ В настоящей спецификации поведение функций acos, asin, atan, atan2, cos, exp, log, pow, sin и sqrt описано не полностью, а только те моменты, где требуется возвращение определённых результатов для конкретных значений аргументов, представляющих собой заслуживающие внимания граничные случаи. Для других значений аргументов эти функции должны вычислять приблизительное значение результатов известных математических функций, однако в выборе аппроксимирующих алгоритмов допускается некоторая свобода. Смысл заключается в том, чтобы на заданной аппаратной платформе программист на ECMAScript мог использовать такую же математическую библиотеку, которая доступна на этой же платформе программистам на С.

Выбор алгоритмов остаётся за реализацией, однако рекомендуется (но в настоящем стандарте не описывается) использовать аппроксимирующие алгоритмы для арифметики IEEE 754, которые содержатся в fdlibm – свободно распространяемой математической библиотеке от Sun Microsystems (http://www.netlib.org/fdlibm).

15.8.2.1 abs (x) #

Возвращает абсолютное значение x; результат имеет такую же величину по модулю, что и x, но со знаком плюс.

15.8.2.2 acos (x) #

Возвращает зависящее от реализации приблизительное значение арккосинуса от x. Результат выражается в радианах и имеет значение от +0 до +π.

15.8.2.3 asin (x) #

Возвращает зависящее от реализации приблизительное значение арксинуса от x. Результат выражается в радианах и имеет значение от −π/2 до +π/2.

15.8.2.4 atan (x) #

Возвращает зависящее от реализации приблизительное значение арктангенса от x. Результат выражается в радианах и имеет значение от −π/2 до +π/2.

15.8.2.5 atan2 (y, x) #

Возвращает зависящее от реализации приблизительное значение арктангенса от частного y/x аргументов y и x, где знаки для y и x используются для определения квадранта результата. Обратите внимание, что для этой функции арктангенса с двумя аргументами принято сначала указывать аргумент y, а затем – аргумент x. Результат выражается в радианах и имеет значение от −π до +π.

15.8.2.6 ceil (x) #

Возвращает наименьшее (ближайшее к −∞) числовое значение не меньше x и равное математическому целому. Если x уже является целым числом, возвращаемый результат равен x.

Значение Math.ceil(x) аналогично значению -Math.floor(-x).

15.8.2.7 cos (x) #

Возвращает зависящее от реализации приблизительное значение косинуса от x. Аргумент выражается в радианах.

15.8.2.8 exp (x) #

Возвращает зависящее от реализации приблизительное значение экспоненциальной функции от x (e в степени x, где e является основанием натуральных логарифмов).

15.8.2.9 floor (x) #

Возвращает наибольшее (ближайшее к +) числовое значение не больше x и равное математическому целому. Если x уже является целым числом, возвращаемый результат равен x.

ПРИМЕЧАНИЕ Значение Math.floor(x) аналогично значению -Math.ceil(-x).

15.8.2.10 log (x) #
15.8.2.11 max ( [ value1 [ , value2 [ , … ] ] ] ) #

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

Свойство length для метода max равно 2.

15.8.2.12 min ( [ value1 [ , value2 [ , … ] ] ] ) #

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

Свойство length для метода min равно 2.

15.8.2.13 pow (x, y) #

Возвращает зависящее от реализации приблизительное значение результата возведения x в степень y.

15.8.2.14 random ( ) #

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

15.8.2.15 round (x) #

Возвращает числовое значение, ближайшее к x и равное математическому целому. Если одинаково близкими к x являются два целочисленных значения, результатом будет являться то из них, которое ближе к +. Если x уже является целым числом, возвращаемый результат равен x.

ПРИМЕЧАНИЕ 1 Math.round(3.5) возвращает 4, а Math.round(–3.5) возвращает –3.

ПРИМЕЧАНИЕ 2 Значение Math.round(x) аналогично значению Math.floor(x+0.5), кроме случаев, когда x равен 0, или меньше 0, но больше или равен -0.5. В этих случаях Math.round(x) возвращает 0, а Math.floor(x+0.5) возвращает +0.

15.8.2.16 sin (x) #

Возвращает зависящее от реализации приблизительное значение синуса от x. Аргумент выражается в радианах.

15.8.2.17 sqrt (x) #

Возвращает зависящее от реализации приблизительное значение квадратного корня из x.

15.8.2.18 tan (x) #

Возвращает зависящее от реализации приблизительное значение тангенса от x. Аргумент выражается в радианах.