Instrukcja if

Program wykonujący kod linia po linii nie jest zbyt interesujący, zapoznasz się teraz z instrukcjąif, która sprawi, że część programu będzie wykonywana tylko pod pewnym warunkiem. Instrukcjaifma postać:

Instrukcje zostaną wykonane tylko w przypadku, gdy warunek jest prawdziwy, jeśli nie, to wykonywanie programu przejdzie poza}bez wykonywania instrukcji wewnątrz bloku { }.

Najprostszymi warunkami są po prostutrueifalse. Są to stałe typubooleanoznaczające odpowiednio prawdę i fałsz. Oczywiście ręczne wpisanie w miejsce warunektruelubfalsenie ma najczęściej sensu. Warunkiem może być np. sprawdzenie, która z dwóch zmiennych jest większa. Służą do tego operatory<i>. Aby sprawdzić, czy coś jest większe lub równe można użyć<=i>=

123456 vara=6;varb=9;if(b>a){console.log('b jest większe niż a');};

Warunkiem może też być sprawdzenie równości dwóch wartości operatorem===.

Instrukcja warunkowa składa się z jednego lub więcej bloków. Każdy z nich poprzedzony jest warunkiem(pozaelse). Istotne jest to, że spośród wszystkich bloków, zostanie wykonany jeden lub żaden.

Warunek - instrukcja warunkowa, zwracatruelubfalse

Blok - operacje zawarte pomiędzy{oraz}

if (warunek1) {

//kod do wykonania jeśli warunek1 okaże się prawdziwy

} else if (warunek2) {

//kod do wykonania jeśli warunek2 okaże się prawdziwy

} else {

//kod do wykonania jeśli żaden z poprzednich warunków nie okaże się prawdziwy

}

Zadanie 1

W tym zadaniu stworzysz fragment programu działającego na stronie internetowej gry komputerowej przeznaczonej tylko dla dorosłych np. Wiedźmin. Napisz program, który poprosi użytkownika o podanie wieku. Jeśli wynosi on co najmniej 18 lat wyświetl komunikat“Dziękuję, otwieram stronę.”

Skrócony zapis

W JavaScript jest możliwy skrócony zapis instrukcjiif. Wygląda on następująco.

1234 if(warunek)instrukcja1;instrukcja2;

W takim zapisieinstrukcja1jest wykonywana tylko, jeśli warunek jest prawdziwy, natomiastinstrukcja2jest wykonywana niezależnie od warunku.instrukcja2jest już pozaif.

W przypadku gdy w blokuifmamy tylko jedną linię kodu, to skrócony zapis pozwala nam nie pisać znaków{i}przez co nasz kod staje się trochę krótszy. Takie rozwiązanie ma jednak pewne wady. Załóżmy, że mamy instrukcjęifw zapisie skróconym.

12 if(warunek)instrukcja1;

Za jakiś czas chcemy dopisać kolejną linię kodu, która wykona się tylko w przypadku spełnienia warunku. Z przyzwyczajenia po prostu ją dopiszemy.

123 if(warunek)instrukcja1;instrukcja2;

Okaże się jednak, że nasz kod nie działa tak, jakbyśmy sobie tego życzyli. To co wpisaliśmy wyżej wygląda jak:

1234 (warunek){instrukcja1;instrukcja2;}

Jednak w rzeczywistości oznacza:

1234 if(warunek){instrukcja1;};instrukcja2;

Takie błędy czasami ciężko znaleźć, dlatego lepiej zawsze używać zapisu z blokiem kodu{ }.

Wartości nie uznawane za true

Wiemy już, żetrueoznacza wartość prawdziwą, afalsewartość nieprawdziwą. Jednak co w przypadku pozostałych wartości, takich jak liczby i ciągi znaków? Oto lista wartości, które nie są uznawane za prawdziwe:

  • false

  • null

  • undefined

  • pusty łańcuch""

  • liczba0

  • NaN

Nie przejmuj się, jeśli nie znasz wszystkich tych wartości, poznamy je dokładnie w dalszej części kursu.

Wszystkie wartości, które nie są na powyższej liście są uznawane za prawdziwe.

123 if(3){instrukcje;};

W powyższym przykładzieinstrukcjezostaną wykonane.

Instrukcja if else

Spójrz jeszcze raz na przykład z początku tego rozdziału:

123456 vara=6;varb=9;if(b>a){console.log('b jest większe niż a');};

Co się stanie w przypadku, gdy do zmiennejawstawimy wartość większą niż wartość zmiennejb? W takim przypadku blok kodu nie zostanie wykonany, a na ekran nie zostanie wypisana żadna informacja. Istnieje na szczęście instrukcjaelse, która rozwiązuje ten problem.

12345 if(warunek){// blok if}else{// blok else};

Jeśli warunek jest prawdziwy, zostaną wykonane instrukcje w pierwszym bloku poif, jeśli nie to program wykona blok kodu znajdujący się poelse.

Zadanie 2

Nadszedł odpowiedni moment, aby trochę ulepszyć nasz program do sprawdzania wieku. W tym zadaniu Twoim celem jest napisanie programu, działającego podobnie jak ten z pierwszego zadania, z tą różnicą, że jeśli użytkownik ma mniej niż 18 lat, powinien zostać wyświetlony komunikat“Niestety nie masz dostępu do tej strony.”

results matching ""

    No results matching ""