ikona-kursu-2
1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki (głosów: 3, średnia ocena: 3,67)
Loading...Loading...

Kod warunkowy

Czasami chcemy, aby blok kodu został wykonany tylko w określonej sytuacji. Umożliwia nam to kontrola przepływu sterowania za pomocą instrukcji if-else.

Przykład 2.13. Sterowanie wykonaniem programu

var foo = true;
var bar = false;
if (bar) {
    // ten kod nigdy nie zostanie wykonany
    console.log('witaj!');
}
if (bar) {
    // kod nie zostanie wykonany
} else {
    if (foo) {
        // kod zostanie wykonany
    } else {
        // kod zostanie wykonany jeśli zarówno foo i bar będą fałszywe
    }
}

Rzeczy prawdziwe, rzeczy fałszywe

Aby umiejętnie sterować działaniem programu, należy wiedzieć, które wartości są prawdziwe, a które fałszywe. Zdarza się, że wartości, które pozornie wydają się fałszywe bądź prawdziwe zwracają przeciwną wartość.

Przykład 2.14. Wartości, które zwracają prawdę

'0';
'dowolny ciąg';
[];  // pusta tablica
{};  // pusty obiekt
1;   // dowolna liczba różna od zera

Przykład 2.15. Wartości, które zwracają fałsz

0;
'';  // pusty ciąg
NaN; // zmienna, która nie jest typu liczbowego
null;
undefined;  // uwaga – undefined może mieć zmienioną definicję!

Przypisanie warunkowe zmiennych za pomocą operatora trójargumentowego

Czasami chcemy przypisać zmiennej daną wartość w zależności od tego, czy został spełniony określony warunek. Możemy wówczas użyć instrukcji warunkowej if-else, lecz w wielu przypadkach znacznie wygodniejszym rozwiązaniem jest operator trójargumentowy. [Definicja: operator trójargumentowy sprawdza, czy został spełniony określony warunek; jeśli tak, zwracana jest odpowiednia wartość, jeśli nie — inna.]

Przykład 2.16. Operator trójargumentowy

// jeśli bar jest prawdziwe, niech foo równa się 1
// w przeciwnym wypadku niech foo będzie równe 0
var foo = bar ? 1 : 0;

Operatora trójargumentowego można używać bez przypisania zmiennej wartość zwrotnej, jednak lepiej tego nie robić.

Instrukcja switch

Czasami zamiast kilku bloków if/else-if/else wygodniej jest użyć instrukcji switch. [Definicja: instrukcja switch sprawdza wartość danego wyrażenia bądź zmiennej i wykonuje poszczególne bloki kodu zależnie od tej wartości.]

Przykład 2.17. Instrukcja switch

switch (foo) {
    case 'bar':
        alert('wartość bar – ojej!');
    break;
    case 'baz':
        alert('buu baz :(');
    break;
    default:
        alert('wszystko pozostałe może być');
    break;
}

Instrukcja switch nie jest już zbyt chętnie wykorzystywana przez programistów JavaScript, ponieważ często do osiągnięcia tych samych rezultatów można wykorzystać obiekty. Są one wygodniejsze do ponownego użycia czy testów. Na przykład:

var coMamZrobic = {
    'bar' : function() {
        alert('wartość bar – ojej!');
    },
    'baz' : function() {
        alert('buu baz :(');
    },
    'default' : function() {
        alert('wszystko pozostałe może być');
    }
};
if (coMamZrobic[foo]) {
    coMamZrobic[foo]();
} else {
    coMamZrobic['default']();
}

Obiektom przyjrzymy się bliżej w dalszej części rozdziału.

Inne artykuły poruszające podobny temat

CSSRegions.js ikona

CSSRegions.js

Dodaj komentarz









Newsletter

Subskrybując nasz newsletter masz pewność, że nie ominie Cię żadna nowość w serwisie!