This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Math
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2015 г..
* Some parts of this feature may have varying levels of support.
ОбъектMath является встроенным объектом, хранящим в своих свойствах и методах различные математические константы и функции. ОбъектMath не является функциональным объектом.
Math не работает с числами типаBigInt.
In this article
Описание
В отличие от других глобальных объектов, объект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® 2026 Language Specification> # sec-math-object> |