Math
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Объект Math
является встроенным объектом, хранящим в своих свойствах и методах различные математические константы и функции. Объект Math
не является функциональным объектом.
Math
не работает с числами типа BigInt
.
Описание
В отличие от других глобальных объектов, объект Math
не является конструктором. Все свойства и методы объекта Math
являются статическими. Вы ссылаетесь на константу π через Math.PI
и вызываете функцию синуса через Math.sin(x)
, где x
является аргументом метода. Константы в JavaScript определены с полной точностью действительных чисел.
Свойства
Math.E
-
Число Эйлера или Непера, основание натуральных логарифмов, приблизительно равное 2,718.
Math.LN2
-
Натуральный логарифм из 2, приблизительно равен 0,693.
Math.LN10
-
Натуральный логарифм из 10, приблизительно равен 2,303.
Math.LOG2E
-
Двоичный логарифм из E, приблизительно равен 1,443.
Math.LOG10E
-
Десятичный логарифм из E, приблизительно равен 0,434.
Math.PI
-
Отношение длины окружности круга к его диаметру, приблизительно равно 3,14159.
Math.SQRT1_2
-
Квадратный корень из 1/2; или, что тоже самое, 1, делённая на квадратный корень из 2, приблизительно равен 0,707.
Math.SQRT2
-
Квадратный корень из 2, приблизительно равен 1,414.
Методы
Примечание:
Обратите внимание, что тригонометрические функции (sin()
, cos()
, tan()
, asin()
, acos()
, atan()
и atan2()
) принимают в параметрах или возвращают углы в радианах. Для преобразования радианов в градусы, поделите их на величину (Math.PI / 180)
; для преобразования в обратном направлении, умножьте градусы на эту же величину.
Примечание: Обратите внимание, что точность большинства математических функций зависит от реализации. Это означает, что различные браузеры могут дать разные результаты, более того, даже один и тот же движок JavaScript на различных операционных системах или архитектурах может выдать разные результаты.
Math.abs(x)
-
Возвращает абсолютное значение числа.
Math.acos(x)
-
Возвращает арккосинус числа.
Math.acosh(x)
Экспериментальная возможность-
Возвращает гиперболический арккосинус числа.
Math.asin(x)
-
Возвращает арксинус числа.
Math.asinh(x)
Экспериментальная возможность-
Возвращает гиперболический арксинус числа.
Math.atan(x)
-
Возвращает арктангенс числа.
Math.atanh(x)
Экспериментальная возможность-
Возвращает гиперболический арктангенс числа.
Math.atan2(y, x)
-
Возвращает арктангенс от частного своих аргументов.
Math.cbrt(x)
Экспериментальная возможность-
Возвращает кубический корень числа.
Math.ceil(x)
-
Возвращает значение числа, округлённое к большему целому.
Math.clz32(x)
Экспериментальная возможность-
Возвращает количество ведущих нулей 32-битного целого числа.
Math.cos(x)
-
Возвращает косинус числа.
Math.cosh(x)
Экспериментальная возможность-
Возвращает гиперболический косинус числа.
Math.exp(x)
-
Возвращает Ex, где x — аргумент, а E — число Эйлера (2,718…), основание натурального логарифма.
Math.expm1(x)
Экспериментальная возможность-
Возвращает
exp(x)
, из которого вычли единицу. Math.floor(x)
-
Возвращает значение числа, округлённое к меньшему целому.
Math.fround(x)
Экспериментальная возможность-
Возвращает ближайшее число с плавающей запятой одинарной точности, представляющие это число.
Math.hypot([x[, y[, …]]])
Экспериментальная возможность-
Возвращает квадратный корень из суммы квадратов своих аргументов.
Math.imul(x)
Экспериментальная возможность-
Возвращает результат умножения 32-битных целых чисел.
Math.log(x)
-
Возвращает натуральный логарифм числа (loge, также известен как ln).
Math.log1p(x)
Экспериментальная возможность-
Возвращает натуральный логарифм числа
1 + x
(loge, также известен как ln). Math.log10(x)
Экспериментальная возможность-
Возвращает десятичный логарифм числа.
Math.log2(x)
Экспериментальная возможность-
Возвращает двоичный логарифм числа.
Math.max([x[, y[, …]]])
-
Возвращает наибольшее число из своих аргументов.
Math.min([x[, y[, …]]])
-
Возвращает наименьшее число из своих аргументов.
Math.pow(a, n)
-
Возвращает
a
вn
-й степени, то есть an. Math.random()
-
Возвращает псевдослучайное число в диапазоне от 0 до 1.
Math.round(x)
-
Возвращает значение числа, округлённое до ближайшего целого.
Math.sign(x)
Экспериментальная возможность-
Возвращает знак числа, указывающий, является ли число положительным, отрицательным или нулём.
Math.sin(x)
-
Возвращает синус числа.
Math.sinh(x)
Экспериментальная возможность-
Возвращает гиперболический синус числа.
Math.sqrt(x)
-
Возвращает положительный квадратный корень числа.
Math.tan(x)
-
Возвращает тангенс числа.
Math.tanh(x)
Экспериментальная возможность-
Возвращает гиперболический тангенс числа.
Math.toSource()
Не стандартно-
Возвращает строку
"Math"
. Math.trunc(x)
Экспериментальная возможность-
Возвращает целую часть числа, убирая дробные цифры.
Расширение объекта Math
Как и большинство встроенных объектов в Javascript, объект Math
может быть расширен пользовательскими способами и методами. Чтобы расширить объект Math
, не используют prototype
. Вместо этого, расширяют Math
напрямую:
Math.propName = propValue;
Math.methodName = methodRef;
Например, следующий код добавляет метод к объекту Math для вычисления наибольшего общего делителя списка аргументов.
/* Вариативная функция -- Возвращает наибольший общий делитель списка аргументов */
Math.gcd = function () {
if (arguments.length == 2) {
if (arguments[1] == 0) return arguments[0];
else return Math.gcd(arguments[1], arguments[0] % arguments[1]);
} else if (arguments.length > 2) {
var result = Math.gcd(arguments[0], arguments[1]);
for (var i = 2; i < arguments.length; i++)
result = Math.gcd(result, arguments[i]);
return result;
}
};
Попробуйте:
console.log(Math.gcd(20, 30, 15, 70, 40)); // `5`
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-math-object |
Совместимость с браузерами
BCD tables only load in the browser