Объект JavaScript Math предоставляет ряд полезных свойств и методов для выполнения математических задач, таких как генерация случайных чисел, округление чисел, выполнение вычислений и т. д. Он также включает методы для выполнения математических задач, которые обычно невозможно или слишком сложно выполнить с использованием стандартных математических операторов (+
, -
,*
, и /
), например вычисление значений синуса и косинуса.
Свойство Math.PI
Свойство Math.PI
представляет собой отношение длины окружности к ее диаметру. PI (π
) является математической константой, которая приблизительно равна 3.14159: Math.PI = π ≈ 3.14159
.
Вот пример, который вычисляет площадь круга, используя свойство Math.PI.
// Печатаем значения PI
document.write(Math.PI); // Печатает: 3.141592653589793
// Функция для расчета площади круга
function calculateCircleArea(radius){
var area = (Math.PI) * radius * radius;
return area;
}
document.write(calculateCircleArea(5)); // Печатает: 78.53981633974483
document.write(calculateCircleArea(10)); // Печатает: 314.1592653589793
Объект Math является встроенным объектом JavaScript, поэтому к его свойствам и методам можно обращаться напрямую. Вам никогда не понадобится создавать объект Math, потому что он автоматически создается интерпретатором JavaScript.
Получение абсолютного значения
Метод Math.abs()
используется для вычисления абсолютного (положительного) значения числа. Следовательно, -1 возвращается как 1, -5 как 5 и так далее. Вот пример:
document.write(Math.abs(-1)); // Печатает: 1
document.write(Math.abs(1)); // Печатает: 1
document.write(Math.abs(-5)); // Печатает: 5
document.write(Math.abs(-10.5)); // Печатает: 10.5
Генерация случайного числа
Метод Math.random()
используется для генерации случайного числа с плавающей запятой в диапазоне от 0
до 1
, но не включая 1
. Однако, если вы хотите случайное целое число от нуля до целого числа больше единицы, вы можете использовать следующее решение:
document.write(Math.random()); // Ожидаемый результат: число от 0 до 1
// Функция для создания случайного целого числа
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
document.write(getRandomInt(3)); // Ожидаемый результат: 0, 1 or 2
document.write(getRandomInt(1)); // Ожидаемый результат: 0
Вычисление квадратного корня числа
Метод Math.sqrt()
используется для вычисления квадратного корня числа: Math.sqrt(x) = x
Если число отрицательное, возвращается NaN
. Вот пример:
document.write(Math.sqrt(4)); // Печатает: 2
document.write(Math.sqrt(16)); // Печатает: 4
document.write(Math.sqrt(0.25)); // Печатает: 0.5
document.write(Math.sqrt(-9)); // Печатает: NaN
/* Функция для расчета гипотенузы.
Гипотенуза - самая длинная сторона прямоугольного треугольника. */
function calculateHypotenuse(a, b) {
return Math.sqrt((a * a) + (b * b));
}
document.write(calculateHypotenuse(3, 4)); // Печатает: 5
document.write(calculateHypotenuse(5, 12)); // Печатает: 13
Округление чисел
Объект JavaScript Math предоставляет несколько методов для округления чисел, каждый из которых имеет свое назначение. Разберем эти методы подробнее.
Метод ceil()
Метод Math.ceil()
округляет число до следующего наибольшего целого числа. Таким образом, 3,5 становится 4, -5,7 становится -5 (потому что -5 больше -6). Вот пример:
document.write(Math.ceil(3.5)); // Печатает: 4
document.write(Math.ceil(-5.7)); // Печатает: -5
document.write(Math.ceil(9.99)); // Печатает: 10
document.write(Math.ceil(-9.99)); // Печатает: -9
document.write(Math.ceil(0)); // Печатает: 0
Метод floor()
Метод Math.floor()
округляет число до следующего младшего целого числа. Таким образом, 3,5 становится 3, -5,7 становится -6 (потому что -6 меньше -5). Вот пример:
document.write(Math.floor(3.5)); // Печатает: 3
document.write(Math.floor(-5.7)); // Печатает: -6
document.write(Math.floor(9.99)); // Печатает: 9
document.write(Math.floor(-9.99)); // Печатает: -10
document.write(Math.floor(0)); // Печатает: 0
Метод round()
Метод Math.round()
округляет число до ближайшего целого числа таким образом, что если десятичная часть равна .5
или больше, число округляется в большую сторону, в противном случае округляется в меньшую сторону. Таким образом, 3,5 становится 4, -5,7 становится -6, 4,49 становится 4 и так далее. Вот пример:
document.write(Math.round(3.5)); // Печатает: 4
document.write(Math.round(-5.7)); // Печатает: -6
document.write(Math.round(7.25)); // Печатает: 7
document.write(Math.round(4.49)); // Печатает: 4
document.write(Math.round(0)); // Печатает: 0
Поиск самых больших и самых маленьких чисел
Методы Math.max()
и Math.min()
используются для определения того, какое число является наибольшим или наименьшим в группе чисел. Вот пример:
document.write(Math.max(1, 3, 2)); // Печатает: 3
document.write(Math.max(-1, -3, -2)); // Печатает: -1
document.write(Math.min(1, 3, 2)); // Печатает: 1
document.write(Math.min(-1, -3, -2)); // Печатает: -3
Вы также можете найти максимальное или минимальное значение в массиве или массивоподобном объекте, используя метод apply()
, как показано в следующем примере:
var numbers = [1, 3, 2];
document.write(Math.max.apply(null, numbers)); // Печатает: 3
document.write(Math.min.apply(null, numbers)); // Печатает: 1
Есть еще более простой способ сделать это. В ECMAScript 6 вы можете выполнить то же самое, используя новый оператор распространения (...
), как показано в примере ниже:
var numbers = [1, 3, 2];
document.write(Math.max(...numbers)); // Печатает: 3
document.write(Math.min(...numbers)); // Печатает: 1
Возведение чисел в степень
Метод Math.pow()
используется для возведения числа в указанную степень.
Выражение Math.pow(x, y)
— эквивалентно математическому xy
— показывает, сколько раз основание x
умножается на показатель степени y
. Вот пример:
document.write(Math.pow(3, 2)); // Печатает: 9
document.write(Math.pow(0, 1)); // Печатает: 0
document.write(Math.pow(5, -2)); // Печатает: 0.04
document.write(Math.pow(16, 0.5)); // Печатает: 4 (квадратный корень из 4)
document.write(Math.pow(8, 1/3)); // Печатает: 2 (кубический корень из 8)
Положительный показатель указывает на умножение (52 = 5 x 5 = 25), отрицательный показатель указывает на деление (5-2 = 1/52 = 0.04), тогда как дробный показатель указывает на корень основания.
Выполнение тригонометрических операций
Math-объект JavaScript также предоставляет несколько тригонометрических методов, таких как sin()
, cos()
, tan()
для выполнения тригонометрических операций. Эти методы работают в радианах, поэтому перед использованием их необходимо умножить измерения в градусах на π/180
.
Поскольку радианы пи равны 180 градусам: π rad = 180°
. Следовательно, π/2 радиана равно 90 градусам, π/3 радиана равно 60 градусам и так далее. Вот пример:
document.write(Math.sin(0 * Math.PI / 180)); // Печатает: 0
document.write(Math.sin(90 * Math.PI / 180)); // Печатает: 1
document.write(Math.cos(0 * Math.PI / 180)); // Печатает: 1
document.write(Math.cos(180 * Math.PI / 180)); // Печатает: -1
document.write(Math.tan(0 * Math.PI / 180)); // Печатает: 0