Много често в една програма се налага да се предприемат действия в зависимост от някакво условие. Затова всеки език притежава поне един условен оператор.В Java Script те са два : по - важният if и по - рядко използвания switch. Оператора if има следната конструкция:
CODE1
2
3
4
5
| if (условен израз) {
конструкция 1;
конструкция 2;
...
} |
Когато се налага изпълнение на условие от вида "ако е истина направи това, в противен случай прави това" се използва разширения запис на конструкцията :
CODE1
2
3
4
5
6
7
| if (условен израз) {
конструкция 1;
конструкция 2;
} else {
конструкция 3;
конструкция 4;
} |
В този случай ако условния израз е истина, ще се изпълнят конструкции 1 и 2, а ако е лъжа - конструкции 3 и 4. И в двата случая при използване на повече от един оператор е задължително заграждането им във фигурни скоби { }. В този случай се образува т.нар. съставен оператор. Ето и пример за използването на този условен оператор:
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <HTML>
<HEAD>
<TITLE>Програмиране в Интернет - Java Script</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!-- скриване от стари браузъри
var age = prompt("Моля въведете вашата възраст:",14);
if (age < 14 ) document.write("Вие още нямате паспорт.")
else {
if (age > 14) document.write("Вече имате паспорт.")
else document.write("Да не забравите да си извадите паспорт тази година!");
}
// край на скриването-->
</SCRIPT>
</BODY>
</HTML> |
Както виждте в примера в едната конструкция if ... else е вложена втора такава. Това се прави ако трябва да се избира един от няколко варианта. За два до три варианта, този метод е подходящ, но когато се налага избор от повече варианти, понякога е подходящ за използване условния оператор switch :
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| switch(тестов израз){
case "baseball":
конструкция 1;
конструкция 2;
break;
case "football":
конструкция 3;
конструкция 4;
break;
case "basketball":
конструкция 5;
конструкция 6;
break;
default:
конструкция 7;
конструкция 8;
break; |
Действието на тази конструкция е следното : проверява се резултата от тестовия израз и ако той съвпада с някои от вариантите, то тази секция се изпълнява. Ако не се намери съвпадение се изпълнява default секцията. Например ако резултата от тестовия израз е "football" се изпълняват конструкции 3 и 4. Какво ще стане ако се пропусне break. В този случай се изпълняват всички секции след тази, в която е намерено съвпадение. Ето и пример за изпълненето на този оператор :
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| <HTML>
<HEAD>
<TITLE>Програмиране в Интернет - Java Script</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!-- скриване от стари браузъри
var fruit = prompt("Изберете плод(портокал,ябълка,лимон):","портокал");
switch(fruit){
case "портокал":
document.write("Портокала е оранжев.");
break;
case "ябълка":
document.write("Ябълката е червена.");
break;
case "лимон":
document.write("Лимона е жълт.");
break;
default:
document.write("Не знам цвета на "+fruit);
break;
}
// край на скриването-->
</SCRIPT>
</BODY>
</HTML> |
В програмирането често се налага многократното изпълнение на дадена последователност от операции. Това се постига чрез оператор за цикъл. Първия оператор за цикъл, който ще научим е оператора for :
CODE1
2
3
4
5
6
7
| for (израз1;израз2;израз3){
конструкция 1;
конструкция 1;
}
израз1 - израз, който задава началните стийности на променливите.
израз2 - логически израз, условие на цикъла
израз3 - израз, който променя стийноста на управляващата променлива на цикъла |
Цикълът се изпълнява по следния начин: първо се изпълнява израз1, който най-често присвоява начални на променливите. След това се проверява условния израз (израз2) и ако той е истина се изпълнява тялото на цикъла. Накрая се изпълнява израз3 и цикъла се изпълнява отново. След първото изпълнение израз1 не се изпълнява. Следващият прост пример ще демонстрира работата на оператора :
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <HTML>
<HEAD>
<TITLE>Програмиране в Интернет - Java Script</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!-- скриване от стари браузъри
document.write("Резултат от изпълнението на for (i=0;i<10;++i)<BR>");
for (i=0;i<=10;++i) document.write("Итерация :"+i+"<BR>");
// край на скриването-->
</SCRIPT>
</BODY>
</HTML> |
Цикълът while е друго често срещано средство за повторение на програмен код. Конструкцията е следната :
CODE1
2
3
4
| while (условен израз) {
конструкция 1;
конструкция 2;
} |
Тук конструкциите се изпълняват ако условния израз е истина. Java Script 1.2 добавя и нов формат на оператора, който гарантира поне едно изпълнение на цикъла :
CODE1
2
3
4
| do {
конструкция 1;
конструкция 2;
} while (условен израз) |
Тук първо се изпълняват конструкции 1 и 2 и чак след това се проверява условието за излизане на цикъла.
Java Script осигурява механизъм за изход от цикъл и преминаване към нова итерация от цикъла. Изход от цикъла се реализира чрез break, a преминаването към нова итерация с continue. Ето пример за използването на while и continue и break :
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| <HTML>
<HEAD>
<TITLE>Програмиране в Интернет - Java Script</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=windows-1251">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!-- скриване от стари браузъри
var i = 0;
document.write("Изпълнение на while без модификации<BR>");
while (i<=10) {
document.write("Итерация :"+i+"<BR>");
i++;
}
i = 0;
document.write("Изпълнение на while с пропускане на четните<BR>");
while (i<=10) {
if (!(i%2)) {
document.write("Пропускане на четно число<BR>");
i++;
continue;
}
document.write("Итерация :"+i+"<BR>");
i++;
}
i = 0;
document.write("Изпълнение на while с прекъсване при достигане на 5<BR>");
while (i<=10) {
if (i == 5) {
document.write("Прекъсване на цикъла<BR>");
break;
}
document.write("Итерация :"+i+"<BR>");
i++;
}
// край на скриването-->
</SCRIPT>
</BODY>
</HTML> |