В JS Math — это встроенный объект с несколькими десятками методов. Сегодня мы сосредоточимся на наиболее распространенных из них, и я собираюсь предоставить вам простые для понимания примеры.
Первые 3 метода принимают целое число и округляют его, но по-разному. Всегда тщательно обдумывайте, выбирая, какой из них лучше соответствует вашим потребностям.
- Math.ceil() — название метода происходит от слова «потолок». Думайте «вверх», что означает, что мы округлим число в большую сторону. Будьте осторожны с отрицательными числами.
Math.ceil(5.1) // 6
Math.ceil(0.1) // 1
Math.ceil(0) // 0
Math.ceil(-0.1) // -0
Math.ceil(-3.9) // -3
2. Math.floor() — название этого метода происходит от слова «этаж». Думайте «вниз», что означает, что мы округлим число в меньшую сторону. Будьте осторожны с отрицательными числами.
Math.floor(5.1) // 5
Math.floor(0.1) // 0
Math.floor(0) // 0
Math.floor(-0.1) // -1
Math.floor(-3.9) // -4
3. Math.round() — этот метод возвращает число, округленное до ближайшего целого числа (помните школьные уроки математики?).
Math.round(5.1) // 5
Math.round(0,5) // 1
Math.round(0) // 0
Math.round(-0.1) // -0
Math.round(-3.9) // -4
4. Math.trunc() — название этого метода происходит от слова 'truncate', и он просто удаляет дробные числа (не путайте с округлением, он ничего не округляет) :
Math.trunc(23.95) // 23
Math.trunc(-0,88) // -0
5. Math.max() — принимает в качестве параметра массив целых чисел и возвращает наибольшее из них.
Math.max(10, 20, 100, 65,9) // 100
Math.max(-10, -20, -100, -65,9) // -10
Math.max(0, -1, 1, -1,1, 1,1) // 1,1
6. Math.min() — принимает в качестве параметра массив целых чисел и возвращает наименьшее из них.
Math.min(10, 20, 100, 65,9) // 10
Math.min(-10, -20, -100, -65,9) // -100
Math.min(0, -1, 1, -1,1, 1,1) // -1,1
7. Math.random() — этот метод помогает найти случайное число, но не делает этого напрямую. Позвольте мне объяснить это лучше. Сам метод не нуждается в аргументе и возвращает десятичное число от 0 (включительно) до 1 (исключительно):
Math.random() // 0,26645625999009925
Если вы затем умножите его на другое число, вы получите случайное число между этим самым числом и 0:
Math.random()*10 // 6.153651095855553
8. Math.sqrt() — название этого метода происходит от «квадратный корень» и возвращает именно это:
Math.sqrt(81) // 9
Если аргумент отрицательный, результатом будет NaN:
Math.sqrt(-81) // NaN
9. Math.pow() — название этого метода происходит от слова «степень» и принимает массив из 2-х параметров: основание (первое число) и показатель степени (второе число). Это когда у вас есть что-то вроде этого:
Math.pow(3, 5) // 243
Это равно 3*3*3*3*3.
Здесь нужно помнить несколько важных вещей.
- Если показатель степени равен 0, результатом всегда будет 1, независимо от основания:
Math.pow(-3, 0) // 1
- Если основание отрицательное и четное, а показатель степени положительный, результат будет положительным:
Math.pow(-3, 4) // 81
- Если основание отрицательное и нечетное, а показатель степени положительный, результат будет отрицательным:
Math.pow(-3, 5) // -243
- Если основание отрицательное, а показатель степени положительный десятичный, результатом будет NaN:
Math.pow(-3, 1.5) // NaN
- Это не так, если база положительна:
Math.pow(3, 1.5) // 5.196152422706632
- Если показатель степени отрицательный, результат будет содержать число после . :
Math.pow(3, -1,5) // 0,19245008972987526
- Если основание отрицательное, а показатель степени отрицательный, вы также получите набор чисел после . :
Math.pow(-3, -1) // -0,3333333333333333
- Помните, что отрицательное основание и отрицательный десятичный показатель приведут к NaN:
Math.pow(-3, -1.5) // NaN
МОЙ БОГ! Сумасшедший Math.pow(), верно?
10. Math.PI — это не метод, а свойство (которое может быть полезным, поэтому я решил включить его в список) и возвращает 3.141592653589793:
Math.PI * 2 // 6.283185307179586
Надеюсь, эта статья была полезной и, возможно, даже научила вас чему-то новому. :)
Какие еще методы (или свойства) JS Math вы часто используете в своей работе?