Instrukcja warunkowa
Instrukcja warunkowa jest zestawem poleceń wykonywanych, jeżeli dany warunek jest spełniony JavaScript obsługuje dwie instrukcje warunkowe:if...else i switch.
Instrukcja if...else
Instrukcja if
powoduje wykonanie kodu źródłowego instrukcja1
tylko wtedy, gdy warunek
logiczny jest spełniony. Jeżeli zostanie użyty poszerzony wariant instrukcji if
, to po spełnieniu warunku zostanie wykonany kod instrukcja1
lecz w przeciwnym wypadku zostanie wykonany kod instrukcja2
. Instrukcja if
ma postać:
if (warunek) { instrukcja1 } [else { instrukcja2 } ]
Jakiekolwiek wyrażenie w JavaScript może mieć warunek, który jest oceniany czy jest on prawdziwy lub fałszywy. Instrukcja wykonuje jakąkolwiek instrukcję zawartą w JavaScript, włączając pomoc zagnieżdżonym instrukcjom if. Jeśli chcesz użyć więcej niż po instrukcji if
lub instrukcji else
musisz otoczyć instrukcję nawiasami klamrowymi, {}.
Nie powinieneś używać prostych zadań używając instrukcji warunkowej. Na przykład, nie używaj następującego kodu:
if(x = y) { /* coś jest wykonywane */ }
Jeśli potrzebujesz użyć instrukcji warunkowej, aby wykonać zadanie, wstaw dodatkowy nawias wokół zadania. Na przykład, użyj if( (x = y) ).
Nie pomieszaj wartości prymitywnej logicznej true i false z true i false wartości logicznej obiektu. Jakikolwiek obiekt, którego wartość nie jest zidentyfikowana, null, zero, NaN, lub pusty łańcuch znaków, włączając obiekt logiczny, którego wartość jest fałszem staje się prawdziwy, kiedy przechodzi w instrukcję warunkową. Na przykład:
var b = new Boolean(false); if (b) // ten warunek jest prawdziwy
Przykład
Następujący przykład funkcji checkData
zwraca true i numer czcionki w obiekcie Text
są trzy; W drugą stronę, to wyświetli alert ostrzegawczy i zwróci Ci false.
function checkData () { if (document.form1.threeChar.value.length == 3) { return true } else { alert("Enter exactly three characters. " + document.form1.threeChar.value + " is not valid.") return false } }
Instrukcja switch
Instrukcja switch
pozwala programowi na sprawdzenie ciągu warunków i próbuje wykonać wartość wyrażenia przypisana do odpowiedniej etykiety case. Jeśli jest to wyrażenie znalezione, program wykonuje załączoną instrukcję. Instrukcja switch
wygląda w następujący sposób:
switch (expression){ case label : statement; break; case label : statement; break; ... default : statement; }
Najpierw program szuka etykietę odpowiedniego wyrażenia i wykonuje załączoną instrukcję. Jeśli znaleziona zostaje nie odpowiednia etykieta, program szuka domyślnej instrukcji i jeśli znajdzie wykonuje załączoną instrukcję. Jeśli nie domyślna instrukcja jest znaleziona, program kontynuuje wykonywanie instrukcji aż do końca instrukcji switch
.
Opcjonalnie instrukcja break
połączona z każdą etykietą case zapewnia przerwanie programu z całego bloku switch
odpowiednio raz jak jest wykonana instrukcja i kontynuuje wykonywanie następnej instrukcji switch. Jeśli opuszcza break
, program kontynuuje wykonywanie aż do następnej instrukcji w switch
.
Przykład
W następującym przykładzie, jeśli expr
sprawdza "Bananas", program szuka odpowiednią wartość z case "Bananas" i wykonuje załączoną instrukcję. Kiedy napotka break
, progaram przerywa switch
. Jeśli break
zostało opuszczone, instrukcja zostanie wykonana dla case "Cherries".
switch (expr) { case "Oranges" : document.write("Oranges are $0.59 a pound.<BR>"); break; case "Apples" : document.write("Apples are $0.32 a pound.<BR>"); break; case "Bananas" : document.write("Bananas are $0.48 a pound.<BR>"); break; case "Cherries" : document.write("Cherries are $3.00 a pound.<BR>"); break; default : document.write("Sorry, we are out of " + i + ".<BR>"); } document.write("Is there anything else you'd like?<BR>");