Instrukcje warunkowe to jedna z podstawowych koncepcji programowania, które umożliwiają podejmowanie decyzji przez skrypty. Dzięki nim możemy określić, jakie działania powinien podjąć nasz program w zależności od spełnienia określonych warunków.
Podstawowa instrukcja if
Instrukcja if sprawdza warunek i wykonuje przypisany blok kodu, jeśli warunek jest prawdziwy:
var a = 10;
if (a > 5) {
document.write("Liczba jest większa od 5.");
}
Instrukcja if...else
Umożliwia określenie alternatywnego działania, gdy warunek nie jest spełniony:
var liczba = parseInt(prompt("Podaj liczbę:"));
if (liczba % 2 == 0) {
document.write("Liczba parzysta");
} else {
document.write("Liczba nieparzysta");
}
Rozbudowana instrukcja if...else if... else
Pozwala na sprawdzenie wielu warunków:
var liczba = parseInt(prompt("Podaj liczbę:"));
if (liczba > 0) {
document.write("Liczba większa od 0");
} else if (liczba < 0) {
document.write("Liczba mniejsza od 0");
} else {
document.write("Liczba równa 0");
}
Instrukcja switch
Instrukcja switch sprawdza wartość zmiennej i wybiera odpowiedni przypadek spośród wielu możliwych:
var opcja = parseInt(prompt("Wybierz opcję (1-3):"));
switch (opcja) {
case 1:
document.write("Wybrano opcję 1");
break;
case 2:
document.write("Wybrano opcję 2");
break;
case 3:
document.write("Wybrano opcję 3");
break;
default:
document.write("Niepoprawny wybór");
break;
}
Przykład praktyczny: Wyświetlanie dnia tygodnia
var dzien;
switch (new Date().getDay()) {
case 0:
dzien = "Niedziela";
break;
case 1:
dzien = "Poniedziałek";
break;
case 2:
dzien = "Wtorek";
break;
case 3:
dzien = "Środa";
break;
case 4:
dzien = "Czwartek";
break;
case 5:
dzien = "Piątek";
break;
case 6:
dzien = "Sobota";
break;
}
document.write("Dziś jest: " + dzien);
Operatory logiczne
Warunki możemy rozbudowywać z wykorzystaniem operatorów logicznych:
-
&&– i (obie strony muszą być prawdziwe) -
||– lub (wystarczy jedna prawdziwa wartość) -
!– negacja (odwraca wartość logiczną)
var a = 2;
var b = -4;
var wynik;
wynik = ((a > 0) && (b < 0)) || (a > b);
document.write(wynik); // true
Operator warunkowy (?:)
Uproszczony zapis instrukcji warunkowej:
var liczba = -3;
liczba = Math.abs(liczba);
document.write((liczba > 0) ? 2 : 7); // wynik: 2