Webmaster общности: Predpriemach.com | SearchEngines.bg

    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>