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 instrukcji if

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 ... else

<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 instrukcji switch

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ść2Zapis 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.


Inne zagadnienia z tej lekcji

Pętle w JavaScript


Pętle for, while, do ... while w JavaScript. Pętle to specjalny fragment kodu, który odpowiada za powtarzanie poleceń zawartych wewnątrz pętli taką ilość razy, jaka w pętli zostanie zdefiniowana poprzez odpowiednie warunki.

Funkcje w JavaScript


Funkcje w JavaScript - jak stosować, co to jest funkcja anonimowa? Funkcje to w JavaScript bardzo wygodny sposób na wielokrotne wykorzystanie tego samego kodu i to w sposób sparametryzowany.

Tablice w JavaScript


Tablice w JavaScript - opis stosowania tablic i ich metod. Tablice w JavaScript, to specjalny typ danych, który pozwala w jednej zmiennej przechowywać wiele wartości.

Math - JavaScript


Opis obiektu Math w JavaScript. Dzięki niemu możemy w JavaScript odwoływać się do stałych matematycznych i dokonywać obliczeń. Wykaz metod, które służą do obliczania wartości funkcji matematycznych.

Random w JavaScript


liczby losowe w JavaScript - opis metody random(). Za generowanie liczb losowych odpowiada metoda Random obiektu Math. Metoda ta generuje losowo liczbę z zakresu od 0 (włącznie) do 1 (bez jedynki).

Okna dialogowe w JavaScript


Rodzaje i stosowanie okienek dialogowych w Javascript. W JavaScript mamy do wyboru trzy rodzaje okienek dialogowych, wyzwalanych przez metody alert(), confirm() i prompt().

String - tekst w JavaScript


Opis obiektu String w JavaScript. Dzięki temu obiektowi możemy w JavaScript przechowywać i przetwarzać wszelkie teksty. Znaki w tekście są indeksowane od liczby 0.

Wyrażenia regularne


Wyrażenia regularne w JavaScript. Wyrażenie regularne to szablon tekstowy, wzorzec, który opisuje pewien zestaw znaków. Artykuł zawiera wykaz metaznaków wraz z przykładami ich stosowania.

Obiekt date() - data i czas w JavaScript


Obsługa dat i czasu w JavaScript. W JavaScript mamy do dyspozycji obiekt date(), który daje nam możliwość dostępu do dat i manipulowania datami oraz czasem.




© medianauka.pl, 2016-11-01, A-3249



Udostępnij
©® Media Nauka 2008-2023 r.