Объект Math

JavaScript объект Math позволяет решать различные математические задачи с числами.

Пример:


pi = Math.PI;  // возвращает 3.141592653589793 (число пи)

Конструктор объекта Math

В отличие от других глобальных объектов, у объекта Math нет конструктора. Его методы и свойства являются статическими.

Все методы и свойства (константы) объекта Math можно использовать без предварительного создания самого объекта.

Методы объекта Math

Метод Описание
abs(x) Возвращает абсолютное значение от x
acos(x) Возвращает арккосинус угла x, в радианах
asin(x) Возвращает арксинус угла x, в радианах
atan(x) Возвращает арктангенс угла x, как числовое значение в диапазоне от -PI/2 до PI/2 в радианах
atan2(y, x) Возвращает арктангенс частного своих аргументов
ceil(x) Приводит число x к ближайшему большему целому
cos(x) Возвращает косинус угла x (x должен быть в радианах)
exp(x) Возвращает экспоненту от x (Ex)
floor(x) Приводит число x к ближайшему меньшему целому
log(x) Возвращает натуральный логарифм (по основанию E) числа x
max(x, y, z, ..., n) Возвращает наибольшее значение в списке
min(x, y, z, ..., n) Возвращает наименьшее значение в списке
pow(x, y) Возводит значение x в степень y
random() Возвращает случайное число между 0 и 1
round(x) Возвращает округленное значение x
sin(x) Возвращает синус угла x (x должен быть в радианах)
sqrt(x) Возвращает квадратный корень от x
tan(x) Возвращает тангенс угла

Math.round()

Math.round(x) округляет x по правилу округления:


Math.round(4.7);    // возвращает 5
Math.round(4.4);    // возвращает 4 

Math.pow()

Math.pow(x, y) возводит x в степень y:


Math.pow(8, 2);      // возвращает 64 

Math.sqrt()

Math.sqrt(x) возвращает квадратный корень из x:


Math.sqrt(64);      // возвращает 8 

Math.abs()

Math.abs(x) возвращает абсолютное (положительное) значение x:


Math.abs(-4.7);     // возвращает 4.7 

Math.ceil()

Math.ceil(x) округляет x вверх до ближайшего целого числа:


Math.ceil(4.4);     // возвращает 5 

Math.floor()

Math.floor(x) округляет x вниз до ближайшего целого числа:


Math.floor(4.7);    // возвращает 4 

Math.sin()

Math.sin(x) возвращает синус (значение между -1 и 1) угла x (заданного в радианах).

Если вместо радиан вы хотите использовать градусы, то вы должны перевести градусы в радианы: Угол в радианах = Угол в градусах x PI / 180.


Math.sin(90 * Math.PI / 180);     // возвращает 1 (синус угла в 90 градусов) 

Math.cos()

Math.cos(x) возвращает косинус (значение между -1 и 1) угла x (заданного в радианах).

Если вместо радиан вы хотите использовать градусы, то вы должны перевести градусы в радианы: Угол в радианах = Угол в градусах x PI / 180.


Math.cos(0 * Math.PI / 180);     // возвращает 1 (косинус угла в 0 градусов) 

Math.min() и Math.max()

Math.min() и Math.max() могут использоваться для поиска наименьшего или наибольшего значение в списке аргументов:


Math.min(0, 150, 30, 20, -8, -200);  // возвращает -200 
Math.max(0, 150, 30, 20, -8, -200);  // возвращает 150

Math.random()

Math.random() возвращает случайное число в диапазоне от 0 (включительно) и 1 (не включительно):


Math.random();     // возвращает случайное число

Внимание! Метод Math.random() всегда возвращает число меньшее 1.

Если метод Math.random() использовать вместе с методом Math.floor(), то можно генерировать случайные целые числа.


Math.floor(Math.random() * 10);      // возвращает число от 0 до 9 
Math.floor(Math.random() * 11);      // возвращает число от 0 до 10 
Math.floor(Math.random() * 100);     // возвращает число от 0 до 99 
Math.floor(Math.random() * 101);     // возвращает число от 0 до 100 
Math.floor(Math.random() * 10) + 1;  // возвращает число от 1 до 10 
Math.floor(Math.random() * 100) + 1; // возвращает число от 1 до 100 

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

Следующая JavaScript функция возвращает случайное число от min (включительно) до max (не включительно):


function getRndInteger(min, max) {
    return Math.floor(Math.random() * (max - min) ) + min;
} 

Следующая JavaScript функция возвращает случайное число от min до max (включая оба числа):


function getRndInteger(min, max) {
    return Math.floor(Math.random() * (max - min + 1) ) + min;
}

Свойства (константы) объекта Math

В объекте Math определено 8 математических констант, которые можно использовать в скриптах на JavaScript:


Math.E        // число Эйлера
Math.PI       // число ПИ
Math.SQRT2    // квадратный корень из 2
Math.SQRT1_2  // квадратный корень из 1/2
Math.LN2      // натуральный логарифм из 2
Math.LN10     // натуральный логарифм из 10
Math.LOG2E    // логарифм по основания 2 для числа E
Math.LOG10E   // логарифм по основания 10 для числа E