Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод_лаб_вэб.doc
Скачиваний:
53
Добавлен:
17.04.2019
Размер:
1.71 Mб
Скачать

Лабораторная работа №9 Математические функции JavaScript. Объект Math.

1. Цель изучить и научиться использовать объект Math. Изучить математические константы и функции.

2. Методические указания

1. При изучении конструкций языка HTML можно использовать любой

текстовый редактор. Для получения HTML файла, сохраняйте свои

изменения как текстовые, для файла используйте расширение *.htm или

*.html.

2. Более опытные пользователи могут воспользоваться любым

специализированным редактором HTML страниц (Macromedia

Dreamweaver, HomeSite, FrontPage, AceHTML, Web Development Studio)

3. Создаваемые файлы необходимо тестировать в основных браузерах Internet

Explorer, Mazilla Firefox, Opera.

4. Отлаженные файлы необходимо сохранять в отдельном каталоге.

5. По окончанию работы сохраните все созданные файлы на своих носителях.

3. Теоретические сведения

Объект Math - это встроенный в JavaScript объект, содержащий

математические константы и функции. Вам нет необходимости создавать

объект Math, поскольку он уже создан и готов к использованию. Свойства

объекта Math содержат математические константы, а методы - математические

функции.

Поскольку свойства и методы объекта Math управляются с помощью набора

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

ключевое слово with.

Арифметические операторы и приведение типов

Таблица

+ (плюс)

Сложение

2 + 8

7 + 3

10

10

- (минус)

Вычитание

2 - 8

7 - 3

-6

4

*

(звёздочка)

Умножение

2 * 8

7 * 3

16

21

/ (слэш)

Обычное деление

8 / 2

7 / 3

4

2,333

% (процент)

Деление по

модулю

8 % 2

7 % 3

0

1

++ (два

плюса)

Единичный

инкремент

8++

7++

9

8

-- (два

минуса)

Единичный

декремент

8--

7--

7

6

Интересная особенность JavaScript - возможность выполнять арифметические

операции над переменными различного типа. В этом случае интерпретатор

самостоятельно выполняет приведение типов и выполняет указанную

операцию. В процессе ведения типов используются следующие правила:

Если один из операндов - строка, то все остальные операнды приводятся к

строковому виду.

var1 = "Дядя"

var2 = "Ваня"

result = var1 + " " + var2

// result = "Дядя Ваня"

mixed = var2 + 100

// mixed = "Ваня100"

Все логические операнды приводятся к числовому виду, кроме случаев, когда

все операнды в выражении логические. При этом true приводится к "1", а false

- к "0". При сочетании логических операндов со строками - все операдны

переводятся в текстовый вид.

var1 = true

var2 = true

result = var1 + var2

// result = 2

mixed = var2 + 100

// mixed = 101

var3 = "строка:"

str = var3 + var1

// str = "строка:true"

Если приведение типов выполнить не удалось - результатом выражения будет

"NaN" (например, при попытке разделить строку на что-либо).

var1 = "Дядя"

var2 = "Ваня"

result = var1 / var2

// result = "NaN"

mixed = var2 * true

// mixed = "NaN"

Однако на начальном этапе лучше воздержаться от приведения типов и

фокусов с преобраованием результатов. Это избавит вас от значительного

числа ошибок.

Объект Math

Объект Math содержит основные математические константы и стандартные

математические функции. Наиболее часто используемые приведены в

таблице:

Математическая функция

Синтаксис

Результат

E

Math.E

Значением свойства E является основание натуральных логарифмов e, которое приблизительно равно 2.718281828459045.

LN10

Math.LN10

Значением свойства LN10 является натуральный логарифм числа 10 (ln 10),

который приблизительно равен 2.302585092994046

LOG10E

Math.LOG10E

Значением свойства LOG10E является десятичный логарифм числа e (lg e),

который приблизительно равен 0.4342944819032518

LOG2E

Math.LOG2E

Значением свойства LOG2E является двоичный логарифм числа e (log2e),

который приблизительно равен 1.4426950408889634

PI

Math.PI

Значением свойства PI является число π (отношение длины окружности к

диаметру круга), которое приблизительно равно 3.1415926535897932

SQRT1_2

Math.SQRT1_2

Значением свойства SQRT1_2 является квадратный корень из 1/2, который

приблизительно равен 0.7071067811865476

SQRT2

Math.SQRT2

Значением свойства SQRT2 является квадратный корень из 2, который

приблизительно равен 1.4142135623730951

abs

Math.abs(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод abs возвращает абсолютную величину числа

acos

Math.acos(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод acos возвращает арккосинус числа. Если число находится в диапазоне от -1 до 1 включительно, то результат находится в диапазоне от 0 до π. В противном случае результат равен NaN.

asin

Math.asin(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод asin возвращает арксинус числа. Если число находится в диапазоне от - 1 до 1 включительно, то результат находится в диапазоне от -π/2 до +π/2. В

противном случае результат равен NaN.

atan

Math.atan(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод atan возвращает арктангенс числа. Результат находится в диапазоне от -π/2 до +π/2.

atan2

Math.atan2(число1, число2)

Аргументы: число1, число2 — числовые выражения

Результат: числовое значение

Метод atan2 возвращает арктангенс частного от деления числа1 на число2.

Результат находится в диапазоне от -π до +π и соответствует величине угла в радианах между осью абсцисс и вектором до точки с координатами (число2,

число1).

ceil

Math.ceil(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод ceil возвращает наименьшее целое число, большее или равное числа.

cos

Math.cos(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод cos возвращает косинус числа. Результат находится в диапазоне от -1 до +1.

exp

Math.exp(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод exp возвращает экспоненту числа (e число, где е — основание натуральных логарифмов). Если число больше 709.78, то возвращается Inifinity.

floor

Math.floor(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод floor возвращает наибольшее целое число, меньшее или равное числа.

log

Math.log(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод log возвращает натуральный логарифм числа. Если число отрицательно, то возвращается NaN.

max

Math.max(число1, …, числоN)

Аргументы: число1, …, числоN — числовые выражения

Результат: числовое значение

Метод max возвращает наибольшее из значений своих аргументов. Если аргументы не заданы, то он возвращает -Inifinity.

min

Math.min(число1, …, числоN)

Аргументы: число1, …, числоN — числовые выражения

Результат: числовое значение

Метод min возвращает наименьшее из значений своих аргументов. Если аргументы не заданы, то он возвращает Inifinity.

pow

Math.pow(число1, число2)

Аргументы: число1, число2 — числовые выражения

Результат: числовое значение

Метод pow возвращает число1, возведенное в степень число2 (число1число2).

random

Math.random()

Результат: числовое значение

Метод random генерирует случайное число в диапазоне от 0 включительно до 1 исключительно.

round

Math.round(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод round округляет число до ближайшего целого числа и возвращает его.

sin

Math.sin(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод sin возвращает синус числа. Результат находится в диапазоне от -1 до +1.

sqrt

Math.sqrt(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод sqrt возвращает квадратный корень из числа. Если число отрицательно, то возвращается NaN.

tan

Math.tan(число)

Аргументы: число — числовое выражение

Результат: числовое значение

Метод tan возвращает тангенс числа.

Набор математических функций JavaScript позволяет решать довольно

большой спектр задач, но злоупотреблять этим не стоит. Не забывайте, что

код исполняется интерпретатором, а вот о низкоуровневой оптимизации

вычислений нет и речи, следовательно высокого быстродействия добиться

будет очень сложно.

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

калькуляторов или расчёта положения элементов интерфейса.