Съдържание на урока :
- Условни оператори в JavaScript.
- Оператори за цикъл.
Много често в една програма се налага да се предприемат действия
в зависимост от някакво условие. Затова всеки език притежава поне един
условен оператор.В Java Script те са два : по - важният if и по - рядко
използвания switch.
Оператора if има следната конструкция:
if (условен израз) {
конструкция 1;
конструкция 2;
...
}
Когато се налага изпълнение на условие от вида
"ако е истина направи това, в противен случай прави
това" се използва разширения запис на конструкцията :
if (условен израз) {
конструкция 1;
конструкция 2;
} else {
конструкция 3;
конструкция 4;
}
В този случай ако условния израз е истина, ще се изпълнят
конструкции 1 и 2, а ако е лъжа - конструкции 3 и 4. И в двата
случая при използване на повече от един оператор
е задължително заграждането им във фигурни скоби { }.
В този случай се образува т.нар. съставен оператор.
Ето и пример за използването
на този условен оператор:
<HTML>
<HEAD>
<TITLE>PC-Tools Guides - 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 :
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.
В този случай се изпълняват всички секции след тази, в
която е намерено съвпадение. Ето и пример за изпълненето
на този оператор :
<HTML>
<HEAD>
<TITLE>PC-Tools Guides - 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 :
for (израз1;израз2;израз3){
конструкция 1;
конструкция 1;
}
израз1 - израз, който задава началните
стийности на променливите.
израз2 - логически израз, условие
на цикъла
израз3 - израз, който променя
стийноста на управляващата променлива
на цикъла
Цикълът се изпълнява по следния начин: първо се
изпълнява израз1, който най-често присвоява начални на
променливите. След това се проверява условния израз (израз2)
и ако той е истина се изпълнява тялото на цикъла.
Накрая се изпълнява израз3 и цикъла се изпълнява отново.
След първото изпълнение израз1 не се изпълнява.
Следващият прост пример ще демонстрира работата на оператора :
<HTML>
<HEAD>
<TITLE>PC-Tools Guides - 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 е друго често срещано средство за
повторение на програмен код. Конструкцията е следната :
while (условен израз) {
конструкция 1;
конструкция 2;
}
Тук конструкциите се изпълняват ако условния израз е истина.
Java Script 1.2 добавя и нов формат на оператора, който гарантира
поне едно изпълнение на цикъла :
do {
конструкция 1;
конструкция 2;
} while (условен израз)
Тук първо се изпълняват конструкции 1 и 2 и чак
след това се проверява условието за излизане на цикъла.
Java Script осигурява механизъм за изход от цикъл и
преминаване към нова итерация от цикъла. Изход от
цикъла се реализира чрез break, a преминаването към
нова итерация с continue.
Ето пример за използването на while,continue и break :
<HTML>
<HEAD>
<TITLE>PC-Tools Guides - 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>