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.
Описание
В отличие от других глобальных объектов, объект 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> |
Совместимость с браузерами
Loading…