- •Язык сценариев JavaScript
- •Литералы
- •Переменные
- •Выражения
- •Упражнения
- •Листинг 1.1. Первый сценарий в документе :
- •Функции: описание и использование
- •Обработчики событий
- •Листинг 1.7. Вычисление среднего дохода
- •Листинг 1.12. Обмен двух изображений
- •Вертикальное графическое меню
- •Листинг 1.13, а. Вертикальное графическое меню (вариант 1)
- •Листинг 1.13, б. Вертикальное графическое меню (вариант 2)
- •Объект Math и его методы
- •Листинг 1.15. Вычисление площади и периметра треугольника с помощью объекта Math
- •Листинг 1.16. Описание и использование гиперболических функций
- •Упражнения
Объект Math и его методы
В языке JavaScript определены некоторые стандартные объекты и функции, пользоваться которыми можно без предварительного описания. Одним из стандартных объектов является объект Math. В свойствах упомянутого объекта хранятся основные математические константы, а его методы можно использовать для вызова основных математических функций. В табл. 1.6 приведены некоторые методы объекта Math.
Таблица 1.6. Методы объекта Math
Метод объекта |
Описание метода |
abs |
Абсолютное значение |
sin, cos, tan |
Тригонометрические функции |
log |
Натуральный логарифм |
ехр |
Экспонента |
min |
Наименьшее значение двух аргументов |
max |
Наибольшее значение двух аргументов |
pow |
Показательная функция |
sqrt |
Квадратный корень |
Вычисление площади и периметра треугольника
Напишем сценарий вычисления площади и периметра треугольника, заданного длинами сторон.
Для того чтобы вычислить площадь треугольника по длинам сторон, можно воспользоваться формулой Герона, в соответствии с которой требуется применить функцию извлечения квадратного корня. Поэтому применим метод
sqrt объекта Math: Math. sqrt.
HTML-код представлен в листинге 1.15.
Листинг 1.15. Вычисление площади и периметра треугольника с помощью объекта Math
<HTML>
<HEAD>
<ТITLE>Объект Math</TITLE>
<script language="JavaScript">
<!-- //
function care (obj)
{
var a=obj.stl.value
var b=obj.st2.value
var c=obj.st3.value
var s;
p=a*l+b*l+c*l;
document.writeln ("Периметр треугольника равен ",р,"<br>");
p=p/2;
s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
ocument.write ("Площадь треугольника равна ",s); }
//-->
</script>
</HEAD>
<BODY>
<Р>Пример сценария с математической функцией</Р>
<Р>Вычисление площади и периметра треугольника</Р>
<FORM name="forml">
Сторона 1: <input type="text" size=7 name="stl"><hr>
Сторона 2: <input type="text" size=7 name="st2"><hr>
Сторона 3: <input type="text" size=7 name="st3"><hr>
<input type="button" value=Вычислить
onClick="care(forml)"><hr>
<input type="reset" value=Oтменить>
</FORM>
</BODY>
</HTML>
Обратите внимание на кнопку Отменить, при нажатии на которую очищаются все поля формы.
Вычисление гиперболических функций
Напишите сценарий вычисления гиперболических функций
В заголовке документа определим три функции. Каждой из гиперболических функций соответствует кнопка, при нажатии на которую вычисляется значение функции в заданной точке. HTML-код представлен в листинге 1.16.
Листинг 1.16. Описание и использование гиперболических функций
<HTML>
<HEAD>
<TITLE>Определение и использование нескольких функций</TITLE>
<script language="JavaScript">
<!-- //
function sh(x)
(var y=(Math.exp(x) - Math.exp(-x))/2;
return у}
function ch(x)
{var y=(Math.exp(x) + Math.exp(-x))/2;
return y)
function th(x)
{var y=sh(x)/ch(x);
return y}
//-->
</script>
</HEAD>
<BODY>
Определение и использование гиперболических функций
<HR> <PRE>
<FORM name="forml">
Введите значение x: <input type="text" size=5 name="arg"><br>
гиперболический синус: <input type="text" size=20 name="resl">
<input type="button" value= " синус "
onClick="forml.resl.value=sh(forml.arg.value)"><br>
гиперболический косинус: <input type="text" size=20 name="res2">
<input type="button" value= "косинус"
onClick="forml.res2.value=ch(forml.arg.value)"><br>
гиперболический тангенс: <input type="text" size=20 name="res3">
<input type="button" value= "тангенс"
ondick="forml. res3 . value=th (forml. arg. value) ">
</FORM> </PRE>
</BODY>
</HTML>
При работе с объектами можно использовать оператор with, который имеет следующий синтаксис:
with (t) {S}
где t - объект; s - последовательность операторов. Оператор with задает объект, используемый по умолчанию в последовательности операторов s. Все свойства и методы в s являются свойствами и методами объекта t. Применение этого оператора сокращает текст программы, т. к. избавляет от необходимости указывать иерархию объектов. Этот оператор часто используется для объекта Math, тогда обращение к его свойствам и методам можно производить без самого объекта Math, например, как в следующем варианте описания функции sh (х):
function sh(x)
{
var y
with (Math){y= (exp(x) -exp(-x))/2) return y}