Если Вам необходимо в скрипте выполнять математические расчеты, то некоторые полезные методы для этого Вы найдете в объекте Math. Например, имеется метод синуса sin().
Теперь, чтобы работать на всех без исключения платформах, нам не нужно ничего, кроме метода random().
Если Вы вызовете функцию Math.random(), то получите случайное число, лежащее в диапазоне между 0 и 1. Один из возможных результатов вызова document.write(Math.random()): .7184317731538611
Объект math работает с математическими функциями, а его методы можно использовать для вызова этих функций. Ниже представлены некоторые методы объекта math:
метод
описание
abs
абсолютное значение
sin, cos, tan
тригонометрические функции
log
натуральный логарифм
exp
экспонента
pow
показательная функция
sqrt
квадратный корень
min
наименьшее значение
max
наибольшее значение
Предположим мы хотим написать сценарий, который будет вычислять площадь треугольника по трем его сторонам. Для этого нам потребуется использовать формулу Герона:
,
S – площадь;
a, b, c – длины сторон треугольника.
Итак, напишем в html-странице код формы:
Теперь на странице script.js напишем код функции:
Здесь мы использовали объект Math и его метод sqrt для извлечения квадратного корня. Выражение, из которого извлекается корень, должно быть взято в скобки.
Также обратите внимание на первые три строчки функции, они начинаются с 1*, т.е. наши переменные a, b, c мы умножили на единицу. В JavaScript у каждой переменной есть тип, который определяется автоматически. Так как наши переменные приходят из текстового поля, то и тип они имеют string, т.е. они воспринимаются функцией не как числа, а как буквы.
Если бы мы перемножали эти переменные, то их тип автоматически переопределился бы к number, но мы их складываем, а знак операции + расценивается в данном случае, как конкатенация строк. Чтобы этого не происходило, мы и умножили наши переменные на единицу, преобразовав их таким образом к типу number.
Результат
В данной программе есть один нюанс: если извлекаемый корень является дробным числом, то дробная часть может быть бесконечно длинной. Для точных вычислений это необходимо, но в большинстве случаев достаточно двух знаков после запятой.
Чтобы округлить результат до N знаков после запятой можно воспользоваться методом toFixed объекта Number. Синтаксис записи следующий:
(x).toFixed(N)
где x - число, которое надо округлить, а N - число знаков после запятой.
Исправим конец нашей функции и округлим результат до 2 знаков после запятой: