Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1744

.pdf
Скачиваний:
6
Добавлен:
07.01.2021
Размер:
1.69 Mб
Скачать

 

 

 

Окончание табл. 2

 

 

 

 

 

1

2

3

4

 

 

Округляет число до

Math.floor(56.

 

 

floor(число)

ближайшего меньшего

56

 

4678954321)

 

 

целого

 

 

 

 

 

 

round(число)

Округляет число до

Math.round(56.

56

 

ближайшего целого

4678954321)

 

 

 

 

min(x,y) и

Возвращает меньшее и

 

 

 

большее из аргументов

Math.min(12,5)

5

 

max(x,y)

 

соответственно

 

 

 

 

 

 

 

 

 

 

Выдает

 

 

 

 

каждый раз

 

 

Возвращает

 

разное

 

 

 

значение,

 

random()

псевдослучайное число от 0

Math.random()

 

например,

 

 

до 1

 

 

 

 

значение:

 

 

 

 

 

 

 

 

0.348227596253

 

 

 

 

22974

 

При использовании большого числа свойств и методов объекта Math удобно воспользоваться оператором присоединения with.

Пример

Вводится длина окружности (prompt) и вычисляются радиус и площадь круга с выводом в окно браузера:

<script language="JavaScript"> var L, R, S

L=prompt('Введите длину окружности','') L=parseFloat(L)

with(Math){

R=L/(PI*2)

S=PI*pow(R,2)

}

document.write('L=',L,'<BR>')

document.write('R=',R,'<BR>')

document.write('S=',S,'<BR>')

</script>

На рис.9 показано, как будет выглядеть результат работы сценария.

20

Рис. 9. Вид Web-страницы в окне браузера

Для округления числа до нужной точности используется метод toFixed(Число знаков после запятой). Для нашего примера:

<script language="JavaScript"> var L, R, S

L=prompt('Введите длину окружности','') L=parseFloat(L)

with(Math){

R=L/(PI*2)

S=PI*pow(R,2)

}

document.write('L=',L,'<BR>')

document.write('R=',R.toFixed(2),'<BR>')

document.write('S=',S.toFixed(2),'<BR>')

</script>

На рис.10 показано, как будет выглядеть результат работы сценария.

Рис. 10. Вид Web-страницы в окне браузера

2.9.Условные операторы

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

Сокращенная форма условного оператора If.

21

Полная форма условного оператора If.

Условный оператор ?

Рассмотрим их подробнее.

2.9.1. Сокращенная форма условного оператора If

Структура условного оператора выглядит следующим образом: if (Условие) Оператор

Сначала определяется значение логического выражения (Условие); затем, если оно истинно, выполняется Оператор, следующий непосредственно за условием, взятым в круглые скобки.

Пример

Вводится имя и, если не нажата клавиша «Cancel» и не введено пустое имя, то выдается сообщение «Здравствуйте, имя!».

<script language="JavaScript"> var Name

Name=prompt('Введите Ваше имя',' ')

if (Name != null && Name != ' ') alert('Здравствуйте, '+Name+'!') </script>

Оператор if может содержать несколько операторов действия. В таком случае необходимо заключить эти действия в фигурные скобки.

2.9.2. Полная форма условного оператора If

Структура условного оператора выглядит следующим образом: if (Условие) Оператор1

else

Оператор2 При истинности Условия выполняется Оператор1, в противном

случае (Условие ложно) выполняется Оператор2.

Пример

Пусть осуществляется ввод строки по запросу: “Введите пароль:”. Если введенное значение “СИБАДИ”, то выводится сообщение: “Добро пожаловать!”. При вводе любого другого значения выводится сообщение: “Пароль введен не верно”. Для ввода строки с паролем воспользуемся методом prompt.

<script language=”JavaScript”> var Parol

Parol=prompt('Введите пароль: ', ' ')

22

if(Parol == 'СИБАДИ') alert('Добро пожаловать!') else

alert('Пароль введен не верно') </script>

Оператор if()else может содержать несколько операторов действия по любой из веток. В таком случае необходимо заключить эти действия в фигурные скобки.

2.9.3.Условный оператор ?

Вязыке JavaScript поддерживается довольно удобный оператор создания выражений с проверкой, позаимствованный из языка С. Вот его синтаксис:

(Условие) ? Оператор1: Оператор2 При истинности Условия выполняется Оператор1, в противном

случае (Условие ложно) выполняется Оператор2.

Пример

Вводится фамилия и оценка за зачет. Если введенная оценка меньше или равна 2, то выводится сообщение «Фамилия, пересдача», в противном случае выводится сообщение «Фамилия, зачет».

<script language=”JavaScript”> var Ball, Fam, Otvet

Fam=prompt('Введите фамилию: ', ' ') Ball=prompt('Введите оценку: ', ' ') Ball=parseInt(Ball)

Otvet= (Ball<=2) ? "пересдача": "зачет" alert(Fam+", "+Otvet)

</script>

В программе переменной Otvet присваивается значение "пересдача", если переменная Ball меньше или равна 2, в противном случае переменной Otvet присваивается значение "зачет". Результатом выполнения программы является окно вывода, в котором выводится фамилия и через запятую значение переменной Otvet ("пересдача" или "зачет").

23

2.10. Оператор выбора switch

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

Структура данного оператора следующая: switch (выражение){

case label1: Оператор1 // если выражение равно label1 break

case label2: Оператор2 //если выражение равно label2 break

. . .

default: ОператорN // выражение не равно ни одной метке

}

Необязательный оператор break, задаваемый в каждом из блоков саsе, выполняет безусловный выход из оператора switch. Если он не задан, то продолжается выполнение операторов в следующих блоках case до первого оператора break или до конца тела оператора switch.

Пример

В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Написать программу, которая позволяет ввести номер года и печатает его название по старояпонскому календарю. Справка: 1996 г. — год крысы — начало очередного цикла. Поскольку цикл является двенадцатилетним, поставим название года в соответствие остатку от деления номера этого года на 12.

<script language="JavaScript"> var x=prompt('Введите год',' ')

x=parseInt(x) % 12 // вычисление остатка от деления х на 12 switch(x){

сase 0:alert('Год обезьяны') break

case 1:alert('Год петуха') break

case 2:alert('Год собаки') break

case 3:alert('Год свиньи') break

24

case 4:alert('Год крысы') break

case 5:alert('Год коровы') break

case 6:alert('Год крысы') break

case 7:alert('Год зайца') break

case 8:alert('Год дракона') break

case 9:alert('Год змеи') break

case 10:alert('Год лошади') break

case 11:alert('Год овцы')

}

</script>

2.11. Использование функций в JavaScript

Функция — это именованная последовательность операторов, которая выполняется как одно целое и может возвращать некоторое значение. Функция определяется оператором function, имеющем следующий синтаксис:

function Имя_функции([параметры]) { [операторы JavaScript]

[return значение]

}

Функция может не иметь параметров или иметь параметры. Параметры, перечисляемые в круглых скобках после имени функции, разделяются запятыми. Необязательный оператор return в теле функции определяет возвращаемое функцией значение.

Вызов функции происходит в сценарии по имени с указанием фактических параметров, разделенных запятой.

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

25

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

Определение необходимых функций следует осуществлять в теге <HEAD>, так как все определенные в нем операторы сценария интерпретируются до отображения страницы и, таким образом, будут известны в процессе отображения всей страницы.

Пример

С использованием функции без параметров выводится 3 раза окно с сообщением “Внимание!!!”.

<HEAD>

<SCRIPT LANGUAGE="JavaScript"> // Определение функции

function F() { alert("Внимание!!!")

}

</SCRIPT>

</HEAD>

<BODY>

<SCRIPT LANGUAGE="JavaScript"> // Вызов функции 3 раза

F()

F()

F()

</SCRIPT>

</BODY>

Пример

С использованием функции с параметрами вычисляются квадраты чисел 5 и 15 и выводятся в окно браузера.

<HEAD>

<SCRIPT LANGUAGE="JavaScript">

// Описание функции с одним параметром function Square(x) {

res=x*x return res

}

</SCRIPT>

</HEAD>

<BODY>

26

<SCRIPT LANGUAGE="JavaScript">

// Вызов функции с параметром 5 и 15 document.write("Квадрат числа 5= "+Square(5)+" <br>") document.write("Квадрат числа 15= "+Square(15)+" <br>")

</SCRIPT>

</BODY>

На рис.11 показано, как будет выглядеть результат работы сценария.

Рис. 11. Вид Web-страницы в окне браузера

2.12.Операторы циклов

ВJavaScript возможно использование следующих разновидностей циклов для организации повторяющихся действий:

Цикл с параметром for.

Цикл с предусловием while.

Цикл с постусловием do … while.

Цикл for (… in …).

Рассмотрим операторы циклов подробнее.

2.12.1. Цикл с параметром

Структура цикла с параметром в JavaScript:

for (инициализация параметра; условие; изменение параметра) { Тело цикла

}

В этом выражении:

инициализация параметра – выражение, которое задает начальное значение параметра (например, I=1);

27

условие – выражение, задающее условие, при истинности которого цикл выполняется; при ложности условия цикла работа цикла завершается (например, I<=10).

изменение параметра – выражение, задающее изменение значения параметра на указанный шаг (например, I=I+2 (шаг 2); I++(шаг 1); I-- (шаг -1)).

Если в теле цикла вы используете только один оператор, то фигурные скобки можно не использовать.

Пример

Требуется три раза отобразить в окно браузера строку: "Это JavaScript! Добро пожаловать!".

<script language="JavaScript"> var i

for (i=1; i<=3; i++){

document.write('Это JavaScript! Добро пожаловать! <br>')

}

</script>

На рис.12 показано, как будет выглядеть результат работы сценария.

Рис. 12. Вид Web-страницы в окне браузера

Пример

Вычислить значение факториала введенного числа (prompt). <script language="JavaScript">

var I

var Fact=1

var N=parseInt(prompt("Введите число:", "10")) for (i=1; i<=N; i++){

Fact=Fact*i

}

28

document.write('<h3>Значение факториала</h3>') document.write('<b><br><font color="green">'+N+'! = </font>'+Fact)

</script>

На рис.13 показано, как будет выглядеть результат работы сценария.

Рис. 13. Вид Web-страницы в окне браузера

Пример

Рассмотрим пример классической задачи табулирования функции

на заданном отрезке: вычислить все значения функции y 5x2 sin x

(x 5)

на отрезке [-1; 1] с шагом 0.2.

<script language="JavaScript"> var x, y

document.write("<b>Табулирование функции</b><br>") for (x=-1; x<=1; x=x+0.2){

y=5*x*x*Math.sin(x)/(x+5) document.write("x="+x.toFixed(2)+" y="+y.toFixed(2)+ "<br>")

}

</script>

На рис.14 показано, как будет выглядеть результат работы сценария.

29

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