Эскорт-услуги в Москве от Queens Palace


GOUSPO студенческий портал!

форум, учебники, лекции, и многое другое

Мар

31

Математические операторы. Ветвления. Объекты клиента.

Автор: admin

Математические операторы. Ветвления. Объекты клиента.

1. Объект Math и его методы.
В языке JS определены стандартные объекты и функции, пользоваться которыми можно без предварительного описания.
В свойствах объекта Math хранятся основные математические константы, а его методы можно использовать для вызова основных математических функций.

Метод объекта Описание метода
abs Абсолютное значение
sin, cos, tan Тригонометрические функции
log Натуральный логарифм
exp Экспонента
min, max Наименьшее и наиольшее значения 2-х аргументов
pow Показательная функция (возведение в степень)
sqrt Квадратный корень

Вычисление площади и периметра треугольника, заданного длинами сторон.

<html>

<head>

<title>Вычисление площади и периметра треугольнмка</title>

<script>

<!

function care(obj){

var a = 1 * obj.st1.value

var b = 1 * obj.st2.value

var c = 1 * obj.st3.value

var s, p = a + b + c

document.write(Периметр треугольника равен , p)

p = p / 2

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

document.write(Площадь треугольника равна , s)

}

//</script>

</head>

<body>

<form name=form1>

Сторона 1:   <input name=st1 size=10>

Сторона 2:   <input name=st2 size=10>

Сторона 3:   <input name=st3 size=10>

<input value=Вычислить onClick=care(form1)>

</form>

</body>

</html>

2. Вычисление гиперболических функций.

<html>

<head>

<title>Вычисление гиперболических функций</title>

<script>

<!

function sh(x){

var y

with (Math)

y = (exp(x) exp(-x)) / 2

return y

}

function ch(x){

var y

with (Math)

y = (exp(x) + exp(-x)) / 2

return y

}

function th(x){

var y = sh(x) / ch(x)

return y

}

//></script>

</head>

<body>

<form name=form1>

Введите значение X:  <input name=arg size=10>

<input value=Гиперболический синус onClick=form1.res1.value = sh(form1.arg.value)>

Гиперболический синус:       <input name=res1 size=30>

<input value=Гиперболический косинус onClick=form1.res2.value = ch(form1.arg.value)>

Гиперболический косинус:     <input name=res2 size=30>

<input value=Гиперболический тангенс onClick=form1.res3.value = th(form1.arg.value)>

Гиперболический тангенс:     <input name=res3 size=30>

</form>

</body>

</html>

При работе с объектами можно использовать оператор with (t) {S}, где t объект, S последовательность операторов.
Оператор with задает объект, используемый по умолчанию в последовательности операторов S. Все свойства и методы в S являются свойствами и методами объекта t.
Применение этого оператора сокращает текст программы, т.к. избавляет от необходимости указывать иерархию объектов.

function sh(x){

var y

with (Math) { y = ( exp(x) exp(-x) ) / 2 }

return y

}

3. Организация ветвлений в программах. Условный оператор.
Для организации ветвлений используют условный оператор, имеющий вид:

if b {S1}

else {S2}

где b выражение логического типа,

S1, S2 операторы.
Пример:

Максимальное значение.

function maxval(obj){

var a = number (obj.num1.value);

var b = number (obj.num2.value);

var c = number (obj.num3.value);

var m = a;

if (b > m) m = b

if (c > m) m = c

obj.res.value = m

}

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

function maxval(obj){

var a = number (obj.num1.value);

var b = number (obj.num2.value);

var c = number (obj.num3.value);

obj.res.value = Math.max (Math.max (a, b), c)

}

4. Оператор switch и его свойства.

switch (B)

{ case L1: S1;

case L2: S2; break;

……

case Ln: Sn;

default: S

}

B - вычисляемое выражение;

L1, L2, …, Ln литералы;

S1, S2, …, Sn операторы;

День недели (по номеру дня определяем его название).

function numday(obj)

{var m = Number(obj.num1.value);

var s

switch (m)

{case 1: s=понедельник; break;

case 2: s=вторник; break;

case 7: s=воскресенье; break;

default: s=ошибка в номере дня}

obj.res.value = s}

<form name=form1>

Введите номер дня: <input type=text size=7>

Название дня: <input type=button value=Определить onClick=numday(form1)>

<input type=text size=20>

<input type=reset>

</form>

5. Объекты клиента.

Программный объект обладает:

  • некоторым внешним видом или свойствами, отображаемыми в значениях его переменных.
  • поведением или методами, задаваемыми в виде его процедур.

Свойства и методы объединены вместе, образуя единый объект с новыми качествами.

Методы окружают свойства объекта, не позволяя напрямую обращаться к ним или менять их значения. Говорят, что свойства инкапсулированы в объект. Доступ к ним предоставляют методы объекта.
Методы предоставляют программный интерфейс для доступа к значениям свойств, заключенных в ядре объекта и являются некоторой внешней оболочкой, защищающей их от несанкционированного доступа.
Объекты могут взаимодействовать друг с другом, посылая сообщение с просьбой выполнить какой-нибудь метод или выполняя метод в ответ на запрос системы.
Взаимодействуя, объекты образуют единое целое программу. Любое сообщение состоит из трех компонентов:

  1. Имя объекта, которому оно адресовано.
  2. Имя метода, который объект-адресат должен выполнить.
  3. Необязательные параметры, необходимые для выполнения метода.

Обратиться к свойству или методу объекта можно с использованием точечной нотации.

Иерархия объектов Java Script на стороне клиента
При интерпретации страницы html, браузер создает объекты JS, свойства которых представляют значения параметров тэгов языка html. Объекты хранятся в виде иерархической структуры, отражая структуру документа. Некоторые тэги html являются контейнерами, в которых могут размещаться другие тэги.
Объект navigator относится к самому браузеру и его свойства позволяют определить характеристики программы просмотра:

appName содержит имя браузера (например, Microsoft Internet Explorer)

appVersion содержит информацию о версии браузера (например, 4.0 (Compatible; MSIE 4.01; Windows 95)).

Каждая страница, в дополнение к объекту navigator, обязательно имеет еще 5 объектов:

window объект верхнего уровня, свойства которого применяются ко всему окну, в котором отображаются документ.

document. Его свойства определяются содержимым самого документа: связи, цвет фона, формы и т.д.

location. Его свойства связаны с URL адресом отображаемого документа.

history. Представляет адреса ранее загрузившихся html страниц.

event. Предоставляет доступ к свойствам происшедшего события.

<form name=form1>

фамилия: <input size=20>

курс: <input size=2>

</form>

Пример обращения к фамилии:

document.form1.StudentName.value

Свойства и методы ключевых объектов.

Window (окно). Создается автоматически при запуске браузера.
Методы:

open () создание окна

close () закрытие окна

Синтаксис:

имя_переменной_окна = window.open ([имя_файла], [имя_ссылки_окна], [параметры])

win_Example = window.open (http://www.chemisk.narod.ru, linkWin, toolbar=no, scrollbars=yes)

windows.close ()

self.close ()

close ()

win_Example.Close ()

Document. Содержит информацию о загруженной странице. Для каждой страницы создается один объект document. Некоторые его свойства соответствуют параметрам тэга body. Свойство URL содержит адрес загруженного документа.
Методы:
write, writeln записывают в документ информацию и тем самым позволяют динамически его создавать.

Location. Связан с текущим URL адресом. Его свойства позволяют получать информацию о host-машине, с которой в данный момент связан браузер.
Свойства:

hostname содержит имя хоста

port номер порта, к которому подсоединен браузер на хост-машине

Методы:

reload () перезагружает в браузер текущую страницу

replace () загружает в окно браузера страницу, адрес которой задан в качестве его параметра.

History. Содержит список адресов html документов, ранее загруженных в браузер.
Свойства:

current текущая страница

next следующая страница

previous предыдущая страница

Метод:

go () загружает страницу из списка посещенных.

Текущая страница имеет индекс 0, предыдущая индексируется отрицательными целыми числами, последующая положительным целым числом.

history.go(-3)

Form. Порождается объектом document и сам порождает подчиненные объекты. Ссылка на этот объект осуществляется с помощью переменной, определенной в параметре name тэга form.
В документе может быть несколько форм, поэтому введено свойство-массив forms, в котором содержатся ссылки на все формы документа.Пример:

По номеру:

document.forms[0]

document.forms[1]
По имени:

document.forms["form1"]
Если в документе одна форма (с именем form1)

document.form1

Все элементы формы порождают соответствующие объекты, подчиненные объекту родительской формы.

<input type=text>
Варианты обращения к полю txt1:

document.forms[0].txt1

document.forms["form1"].txt1

document.forms.txt1

Каждый объект form имеет также свойство-массив elements, содержащий ссылки на все подчиненные форме элементы в том порядке, в котором они определены в документе html.
Объекты формы имеют свойство name, значение которого равно значению параметра name тэга input, а также свойство value, значение которого определяется смыслом параметра value элемента формы.

Объект frame. В html тэг-контейнер <frameset> … </frameset> задает специальный тип окна, называемый набором фреймов.
Это окно отображает несколько независимых (каждый со своими полосами прокрутки) фреймов на одном экране.
Каждый фрейм, в свою очередь, может отображать определенный документ, расположенный по адресу, указанному в параметре src тэга <frame>.
Набор фреймов образует страницу, поэтому не нужно задавать тэг body.

<frameset cols=30%, 70%>

<frameset rows=30%, 70%>

<frame src=clock.html name=clockFrame>

<frame src=menu.html name=menuFrame>

</frameset>

<frame src=main.html name=mainFrame>

</frameset>
Параметр name задает имя, по которому можно ссылаться на соответствующий фрейм в иерархии документа.
Страница с тремя фреймами образует иерархическую модель объектов frame.
На верхнем уровне объект top родитель всех 3-х фреймов на странице.
Для ссылки на фреймы страницы можно использовать либо символические имена, либо свойство-массив frames объекта top, в котором содержатся ссылки на все фреймы страницы.
Ссылка на первый фрейм страницы:

top.clockFrame

top.frames[0]

Свойство location объекта frame содержит адрес загруженного во фрейм документа.
Изменение этого значения приведет к загрузке нового документа в соответствующий фрейм.

<input value=Пример1 onClick=JavaScript:top.ContentFrame.location=Пример1.html">

Если загружаемый во фрейм документ сам содержит набор фреймов, то все фреймы, отображенные в заданном фрейме, являются его подчиненными.
Если в предыдущем примере, файл menu.html будет содержать следующий код:

<frameset rows=30%, 70%>

<frame src=file1.html name=frame1>

<frame src=file2.html name=frame2>

</frameset>

то фреймы frame1 и frame2 будут порождены фреймом menuFrame, и тогда обращение к этим фреймам будет следующим:

top.menuFrame.frame1

top.frames[2].frames[0]

Свойства-массивы объектов.
Некоторые объекты имеют свойства, которые являются массивами. Они используются для хранения информации о подчиненных объектах, когда их количество заранее не известно.

Объект Свойство Описание
document anchors <A>
applets <APPLET>
forms <FORM>
images <IMG>
links <AREA HREF=<>
<A HREF=<>
function arguments Отражает параметры функции
forms elements <FORM>
select options Объект select, тэги <option>
window frames тэги <frame> в <frameset>
history historys отражает элементы объекта history

Объект event. Каждое событие в JS порождает ассоциированный с ним объект event. Этот объект содержит всю информацию о событии и ее можно передать процедуре обработки события. Эта информация зависит от типа события.
Например, event MouseDown содержит:

информацию о типе события (свойство type)

какая кнопка мыши была нажата (which)

координаты курсора (screenx, screeny)

Совместно с обработчиками событий, объекты event позволяют производить достаточно тонкую обработку событий.
Процедуру обработки события можно вызвать двумя способами:

Явно, назначив ссылку на процедуру обработки события, в соответствующем свойстве объекта.

Неявно в параметре обработки события тэга соответствующего элемента.

Пример:

<form name=form1>

<input name=button1 value=Узнай событие>

<script>

document.form1.button1.onMouseDown=showEventType

</script>

</form>

function showEventType(e){

alert (Произошло событие: +e.type)

}

В объявлении функции showEventType присутствует параметр e, свойство type которого выводится в диалоговом окне.
При явном вызове процедуры обработки события, объект event передается ей по умолчанию, поэтому в данном случае печатается значение свойства type объекта event, т.е. тип события MouseDown.
При неявном вызове требуется задание обращения к процедуре в параметре onMouseDown тэга input, при этом необходимо явно указывать параметр event.

Пример:

<form name=form1>

<input type=button value=Узнай событие>

Ваш отзыв


3 = десять