JavaScript - instrukcje warunkowe


Instrukcje warunkowe if-else i switch

if... else... else if...

Użyj:

if (warunek) {instrukcje do wykonania jeśli warunek jest spełniony}
if (warunek) {instrukcje do wykonania jeśli warunek jest spełniony} 
   else {instrukcje do wykonania jeśli warunek nie jest spełniony} 
if (warunek1) {instrukcje do wykonania jeśli warunek jest spełniony} 
   else if (warunek2) {instrukcje do wykonania jeśli warunek1 nie jest spełniony a warunek2 jest} 
   else {instrukcje do wykonania jeśli żaden warunek nie jest spełniony} 

(warunek)
może być dowolnym wyrażeniem JavaScriptu przyjmującym wartości logiczne (true, false) lub mogącym być na wartości logiczne przekonwertowane. Warunek musi być ujęty w nawiasach. Jeśli warunek jest spełniony (ma wartość true), wykonywane są polecenia w bloku

{instrukcje do wykonania }
mogą być dowolnymi poleceniami JavaScriptu, w tym zagnieżdżonymi poleceniami if...else. Bloki wielu poleceń muszą być ujęte w nawiasy klamrowe.

Np:

if (x < 0) {
  alert("Liczba jest ujemna");
}

if (x < 0) {
  alert("Liczba jest ujemna");
} else {
  alert("Liczba jest nieujemna");
}

if (x < 0) {
  alert("Liczba jest ujemna");
} else if (x==0) {
  alert("Zero");
} else {
  alert("Liczba jest dodatnia");
}

Switch

Instrukcja switch ocenia wyrażenie, dopasowując wartość wyrażenia do klauzuli case, i wykonuje instrukcje powiązane z tym case, a także instrukcje w przypadkach następujących po dopasowanym przypadku case.

Składnia

switch(wyrażenie) {
  case x:
     {blok kodu}
     break;
  case y:
     {blok kodu}
     break;
  default:
     {blok kodu}
}

Wartość (wyrażenie) jest porównywana w każdej klauzuli przypadku case
Do case używane jest ścisłe dopasowanie ===, wartości więc muszą być tego samego typu (np. "0" nie będzie pasować do 0).
Jeśli istnieje dopasowanie wykonywany jest powiązany kod bloku
W przypadku kilku dopasowań wybierane jest pierwsze dopasowanie.
Jeśli nie ma żadnej zgodności wykonywany jest domyśłny (default) kod bloku
Słowo kluczowe break kończy instrukcję switch
Jeśli pominięto słowo kluczowe break następny blok kodu case zostanie zawsze wykonany (nawet jeśli brak jest dopasowania). Można to wykorzystać by kilka przypadków wykonywało np. ten sam kod.
Słowo kluczowe default określa kod do uruchomienia, jeśli nie ma żadnego dopasowania case

Np:

var zwierzak = 'kot';
switch (zwierzak) {
  case 'pies':
  case 'kot':
  case 'chomik':
    alert('Zwierzak domowy');
    break;
  case 'Słoń':
  default:
    alert('Za duży do domu');
}

Następny rozdział: pętle lub menu jest po prawej stronie -->