JavaScript - От А до Я (част трета)
Много често в една програма се налага да се предприемат действия в зависимост от някакво условие. Затова всеки език притежава поне един условен оператор.В Java Script те са два : по - важният if и по - рядко използвания switch. Оператора if има следната конструкция:


if (условен израз) {
конструкция 1;
конструкция 2;
...
}


Когато се налага изпълнение на условие от вида "ако е истина направи това, в противен случай прави това" се използва разширения запис на конструкцията:


if (условен израз) {
конструкция 1;
конструкция 2;
} else {
конструкция 3;
конструкция 4;
}


В този случай ако условния израз е истина, ще се изпълнят конструкции 1 и 2, а ако е лъжа - конструкции 3 и 4. И в двата случая при използване на повече от един оператор е задължително заграждането им във фигурни скоби { }. В този случай се образува т.нар. съставен оператор. Ето и пример за използването на този условен оператор:


<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:


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>Програмиране в Интернет - 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>Програмиране в Интернет - 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>Програмиране в Интернет - 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>



-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
›››Източник: web-teacher.org
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

/ Трябва да сте регистриран за да напишете коментар /