Logo Serwisu Media Nauka


Instrukcje warunkowe

JavaScript udostępnia kilka instrukcji warunkowych, czyli takich, które w zależności od wartości wyrażenia true (prawda) lub false (fałsz), sterują przebiegiem programu.

Spis treści:

if

Instrukcja if najpierw sprawdza dany warunek, i w zależności od tego czy zwróci wartość true (prawda) czy false (fałsz) wykona lub nie wykona blok kodu zawarty w klamrach.

Składnia

if (warunek) {
   // kod programu
}

Zobaczmy przykład.

Kod - przykład zastosowania instrukcji if

<script>
var x = 1;
if (x==1) {
 alert("Tak, zmienna x jest jedynką, a instrukcja if zadziałała");
}
if (x>0) {
 alert("Tak, zmienna x jest większe od 0, a instrukcja if zadziałała");
}
if (x!=2) {
 alert("Tak, zmienna x nie jest dwójką, a instrukcja if zadziałała");
}
if (x!=1) {
 alert("Ten kod sie nie wykona, bo warunek nie jest spełniony");
}
</script>
Lupa


Powyższy kod wywoła trzy okna alertu, bo wszystkie trzy pierwsze warunki są spełnione, ostatni zaś nie.

Możesz być nieco zdziwiony zapisem warunków. Co to jest na przykład za dziwny zapis "==" albo "!="? Jeśli nie rozumiesz tego zapisu, przeczytaj artykuł o operatorach.

Jeżeli jeszcze nie rozumiesz zasady działania instrukcji warunkowej if, zobacz poniższą animację.


Co może być jeszcze warunkiem instrukcji if? Może być nią sama zmienna. Każda wartość zmiennej różna od zera, pustego ciągu znaków lub o wartości true zwróci w warunku wartość true. Zobacz poniższy przykład kodu.

Inny przykład stosowania instrukcji if

<script>
var x = 1;
var s = "Tata";
if (x) {
 alert("Działa, bo wartość x nie jest zerem!");
}
if (s) {
 alert("Działa, bo s nie jest pustym ciągiem znaków");
}
</script>
Lupa


Osobiście nie polecam stosowania tej metody ze względu na brak czytelności kodu. Warto warunki logiczne zapisywać tak, żeby były jasne i zrozumiałe.

if...else...

Instrukcja if ... else ... jest rozbudowaną wersją poprzedniej instrukcji warunkowej. Najpierw sprawdza dany warunek, i w zależności od tego czy zwróci wartość true (prawda) czy false (fałsz) wykona lub nie wykona blok kodu zawarty w klamrach.

Składnia

if (warunek) {
   // kod programu dla warunku przyjmującego wartość true
} else {
   ///kod programu dla warunku przyjmującego wartość false
}

Zobaczmy przykład.

Kod - przykład zastosowania instrukcji if

<script>
var x = 1;
if (x==1) {
 alert("Ta instrukcja się wykonała, bo warunek zwraca wartość true.\nPrawda, że x=1");
} else {
 alert("Ta instrukcja się nie wykona, bo warunek zwraca wartość false");
}

if (x!=1) {
 alert("Ta instrukcja się nie wykona, bo warunek zwraca wartość true");
} else {
 alert("Ta instrukcja się wykonała, bo warunek zawraca wartość false.\nNieprawda, że x nie jest jedynką.");
}
</script>
Lupa


switch

Instrukcja switch jest rozbudowaną wersją instrukcji warunkowej if, uzależniająca wykonywanie kodów od różnych przypadków, zdefiniowanych w instrukcji. Najpierw sprawdza dany warunek i w zależności od tego jaką wartość przyjmuje wyrażenie taki kod wykonuje.

Składnia

switch (wyrażenie) {
case przypadek1:
   // kod programu wykona się, gdy rezultat wyrażenia jest równy wartości przypadek1
break;

case przypadek2:
   // kod programu wykona się, gdy rezultat wyrażenia jest równy wartości przypadek2
break;
default:
   //kod programu wykona się gdy żaden z powyższych przypadków nie zaistnieje
}

Zobaczmy przykład.

Kod - przykład zastosowania instrukcji switch

<script>
var x = 1;
switch (x) {
case 1:
 alert("x=1");
break;
case 2:
 alert("x=2");
break;
default:
 alert("Trudno powiedzieć ile jest równe x ...");
}
</script>
Lupa

Instrukcja case jest bardzo rozbudowana. Pamiętaj, że możesz ją zastąpić wieloma warunkami if ... else ... .

Skrócona wersja if

To bardzo ciekawy i wygodny w stosowaniu operator. W jednej linijce kodu możemy przypisać do zmiennej wartość w zależności od zadanego warunku.

SkładniaPrzykład
zmienna = (warunek)?wartość1:wartość2 Zapis t=(wiek<18)?"młodzież":"dorosły" pozwala przypisać zmiennej t tekst "młodzież", jeżeli wartość zmiennej wiek jest mniejsza niż 18 lub tekst "dorosły", gdy wartość zmiennej wiek nie jest mniejsza od 18.

© Media Nauka, 2016-11-01, ART-3249






Polecamy