* Многовариантен избор в JavaScript
Публикувано на 06 септември 2009 в раздел ХHTML/JS.
В статията за оператор „if-else“, че го използваме, за да „разделим логически част от кода на програмата на две части“. Какво можем да направим, за да го разделим на повече? Например нека имаме една променлива day, която приема стойност от 1 до 7. Искаме да напишем програма, която отпечатва името на ден от седмицата спрямо числото. С досегашните знания бихме решили задачата по следния начин:
<script type="text/javascript">
var day = 3;
if (day == 1){
document.write("Понеделник");
}
else{
if (day == 2){
document.write("Вторник");
}
else{
if (day == 3){
document.write("Сряда");
}
else{
if (day == 3){
document.write("Четвъртък");
}
else{
if (day == 3){
document.write("Петък");
}
else{
if (day == 3){
document.write("Събота");
}
else{
if (day == 3){
document.write("Неделя");
}
else{
document.write("Невалиден ден");
}
}
}
}
}
}
}</script>
Променяйте стойностите на a и ще видите, че резултата е точно това, което очаквахме. Виждаме, че с този метод ние на практика „влагаме“ един оператор if-else в тялото на друг.
Както в повечето езици за програмиране, така и в JavaScript ни е дадена възможност за осъществяване на горната функционалност чрез един единствен оператор. Нарича се оператор за многовариантен избор – switch. Синтаксисът е следния:
switch(<променлива/израз>)
{
case <стойност 1>:
<операции>;
break;
case <стойност 2>:
<операции>;
break;
...
default:
<операции>
}
Ето как ще изглежда по-горния пример реализиран чрез този оператор:
<script type="text/javascript">
var day = 3;
switch(day){
case 1: document.write("Понеделник");
break;
case 2: document.write("Вторник");
break;
case 3: document.write("Сряда");
break;
case 4: document.write("Четвъртък");
break;
case 5: document.write("Петък");
break;
case 6: document.write("Събота");
break;
case 7: document.write("Неделя");
break;
default: document.write("Невалиден ден");
}
</script>
В условието в скобите след „switch“ може освен променлива да присъства и цял израз.
Trackback URI | RSS за коментарите
Пусни коментар
Категории
- Бази от Данни (39)
- Вероятности (30)
- История (14)
- Кучета (67)
- Лада Нива (91)
- Математика (158)
- Методика (52)
- Общи работи (107)
- ПИК-3 Java (38)
- Политика (40)
- Програмни Среди (1)
- ПТСК (37)
- С/C++ (45)
- Семейни (15)
- Физика (35)
- ХHTML/JS (25)
- Храна (11)
Нови
- Здравей бебе!
- Какво означават метеорологичните кодове?
- Берра проправя пътеки
- Задача от YES
- Колан за теглене на автомобил