Math.ceil()
Возвращает число, которое больше или равно вашему аргументу
Math.floor()
Возвращает число, которое меньше или равно вашему аргументу
Легче всего понять эту таблицу, посмотрев функции в действии:
Math.floor(.5); // 0
Math.ceil(.5); // 1
Math.round(.5); // 1
Math.floor(3.14); // 3
Math.round(3.14); // 3
Math.ceil(3.14); // 4
Math.floor(5.9); // 5
Math.round(5.9); // 6
Math.ceil(5.9); // 6
Эти функции всегда округляют до целого числа. Если вы хотите произвести округление до точного набора цифр, то ознакомьтесь со второй половиной статьи «Округление чисел в JavaScript» (https://www.kirupa.com/html5/rounding_numbers_in_javascript.htm).
Тригонометрические функции
Больше всего мне нравится, что объект Math дает удобный способ обращаться почти что к любым тригонометрическим функциям, которые могут понадобиться (табл. 16.4).
Для их использования просто передайте число в качестве аргумента:
Math.cos(0); // 1
Math.sin(0); // 0
Math.tan(Math.PI / 4); // 1
Math.cos(Math.PI); // 1
Math.cos(4 * Math.PI); // 1
Табл. 16.4. Тригонометрические функции
Функция
Действие
Math.cos()
Вычисляет косинус аргумента
Math.sin()
Вычисляет синус аргумента
Math.tan()
Вычисляет тангенс аргумента
Math.acos ()
Вычисляет арккосинус аргумента (крутое название, да?)
Math.asin()
Вычисляет арксинус аргумента
Math.atan ()
Вычисляет арктангенс аргумента
Эти функции получают значения в виде радиан. Если же ваши числа представлены в виде градусов, то сначала преобразуйте их в радианы.
Степени и квадратные корни
В табл. 16.5 даны еще несколько функций, присущих объекту Math, а именно Math.pow(), Math.exp() и Math.sqrt().
Табл. 16.5. Функции для вычисления степеней и квадратных корней
Функция
Действие
Math.pow()
Возводит число в заданную степень
Math.exp()
Возводит постоянную Эйлера в заданную степень
Math.sqrt()
Возвращает квадратный корень заданного аргумента
Теперь взглянем на несколько примеров:
Math.pow(2, 4); //эквивалент 2^4 (или 2 * 2 * 2 * 2)
Math.exp(3); //эквивалент Math.E^3
Math.sqrt(16); //4
Обратите внимание, что Math.pow() получает два аргумента. Это, вероятно, первая рассмотренная нами встроенная функция, получающая два аргумента, что даже несколько вдохновляет.
Получение абсолютного значения
Если вам понадобится получить абсолютное значение, просто используйте функцию Math.abs():
Math.abs(37); //37
Math.abs(-6); //6
На этом все.
Случайные числа
Для генерации случайных чисел между 0 и чуть меньше, чем 1, можно использовать функцию Math.random(). Эта функция не получает аргументы, но вы можете легко использовать ее как часть выражения:
let randomNumber = Math.random() * 100;
При каждом вызове этой функции вы увидите случайное число, возвращаемое для Math.random(). Все подробности ее использования для генерации случайных чисел вы можете найти в статье «Случайные числа в JS» (https://www.kirupa.com/html5/random_numbers_js.htm).
КОРОТКО О ГЛАВНОМ
На этом ознакомительная глава, посвященная числам и объекту Math в JavaScript, окончена. Как вы видите, легче уже некуда. JS предоставляет максимально простой подход для работы с этими элементами, а эта глава лишь мельком показала горизонты их возможностей на случай, если вы решите направиться к ним.
Ниже представлены дополнительные ресурсы с примерами, которые помогут вам лучше понять возможности использования чисел в JavaScript:
• Получение числа из строки: http://bit.ly/kirupaStrToNum
• Случайные числа в JS: http://bit.ly/kirupaRandom
• Продвинутые случайные числа в JS: http://bit.ly/AdvRandom
• Почему мои числа не складываются: http://bit.ly/kirupaFPG
• Случайные цвета в JS: http://bit.ly/kirupaRandomColors
Числа в JavaScript — это занятная тема, которая местами может быть запутывающей. Если у вас вдруг возникнут трудности, то прояснить ситуацию вы можете, обратившись на форум https://forum.kirupa.com.
Глава 17. Методы получения и изменения данных
Свойства, с которыми мы работали до сих пор, известны как свойства данных. Для этих свойств мы задаем имя и присваиваем им значение: