Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labrab_6.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
573.19 Кб
Скачать

Объект math в JavaScript

Как было сказано ранее, в JavaScript определены некоторые стандартные объекты и

функции. Рассмотрим стандартный объект math, который используется для работы с

математическими функциями. Его методы можно использовать для вызова этих функций. Ниже

представлены некоторые методы и свойства объекта math:

Рассмотрим пример использования объекта math.

Предположим необходимо написать сценарий, который будет вычислять площадь

треугольника по трем его сторонам. Для этого используем формулу Герона:

11

S 

p( p  a)( p  b)( p  c), где p 

a  b  c

2

Итак, напишем в html-странице код формы:

<html>

<head>

<title>math javascript</title>

<link rel="stylesheet" type="text/css" href="style1.css">

<script type="text/javascript" src="script4.js"></script>

</head>

<body>

<form name="forma3">

Сторона 1 <input type="text" size="8" maxlength="8" name="st1">

Сторона 2 <input type="text" size="8" maxlength="8" name="st2">

Сторона 3 <input type="text" size="8" maxlength="8" name="st3"><br><br>

<input type="button" value="Вычислить" onClick="areaOfTriangle(forma3);">

<input type="reset" value="Отменить">

Результат <input type="text" size="8" maxlength="8" name="res">

</form>

</body>

</html>

В файле script4.js напишем код функции:

function areaOfTriangle(obj){

var a=1*obj.st1.value;

var b=1*obj.st2.value;

var c=1*obj.st3.value;

var p=(a+b+c)/2;

var s=Math.sqrt(p*(p-a)*(p-b)*(p-c));

obj.res.value=s;

}

Поясним написанное: в скрипте использовали объект math и его метод sqrt для извлечения

квадратного корня.

Также обратите внимание на первые три строчки функции: они начинаются с 1*. Почему?

Т.к. значения переменных берутся из текстового поля, то они имеют тип string. Если бы

производили перемножение этих переменных, то их тип автоматически переопределился бы

к number. Но мы их складываем, а знак операции + расценивается в данном случае, как

конкатенация строк. Чтобы этого не происходило, необходимо умножить переменные на единицу,

преобразовав их таким образом к типу number.

Если все записано правильно, кто должны получить, например, такой результат:

Чтобы округлить полученный результат до N знаков после запятой можно воспользоваться

методом toFixed объекта Number. Синтаксис записи следующий:

(x).toFixed(N)

где x - число, которое надо округлить, а N - число знаков после запятой.

12

Округлим полученный результат до 2 знаков после запятой:

function areaOfTriangle(obj){

var a=1*obj.st1.value;

var b=1*obj.st2.value;

var c=1*obj.st3.value;

var p=(a+b+c)/2;

var s=Math.sqrt(p*(p-a)*(p-b)*(p-c));

s=s.toFixed(2);

obj.res.value=s;

}

Результат:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]