Шпаргалка по JavaScript №10 - Условные операторы.

Благодаря логическим операциям в программу стало возможным интегрировать некоторую логику. Но чистых логических выражений, неспособных управлять ходом выполнения кода, мало. В этой главе мы восполним этот пробел осветив такие полезные и мощные инструменты, как условные операторы и операторы выбора.

Условный оператор IF.

Этот оператор позволит выполнить некоторый код только в случае успешного завершения некоторого логического теста. Пример:

var x=5;
if (x==5) {
    alert('x is equal to 5!');
}

В данном примере на экране появится окошко с текстом только в случае, если переменная X равна пяти. Синтаксис условного оператора очень простой. Предваряет его ключевое слово “if”, затем в скобках следует логическое выражение, а после этого в фигурных скобках находится код, который выполнится в случае истинности входного логического выражения.

Также можно указать действия, которые необходимо выполнить при ложности входного логического выражения. Пример:

var x=5;
if (x==5) {
    alert('x is equal to 5!');
} else {
    alert('x is not equal to 5!');
}

Для этого используется ключевое слово “else”.

Существует сокращенная запись нескольких вложенных условных операторов. Пример:

var x=5;
if (x==1) {
    alert('x is equal to 1');
} else if (x==2) {
    alert('x is equal to 2');
} else if (x==5) {
    alert('x is equal to 5');
} else {
    alert("x isn't 1, 2 or 5");
}

Оператор выбора SWITCH.

Очень мощный и полезный оператор, который позволяет избавиться от большого количества “else if”. Пример:

var x=5;
switch (x) {
    case 1: alert('x is equal to 1!'); break;
    case 2: alert('x is equal to 2!'); break;
    case 5: alert('x is equal to 5!'); brea
    default: alert("x isn't 1, 2 or 5!");
}

Первым пишется слово “switch”, затем имя переменной (можно и константу, но это будет иметь мало смысла) в скобках, значение которой мы будем сравнивать со значениями, указанными после ключевого слова “case”. Если значения совпадут, то выполнится соответствующий код, причем эта точка будет началом выполнения блока кода, начинающегося от нее и до самого конца блока, то есть до закрывающей фигурной скобки. Чтобы этого не произошло, пишется ключевое слово “break”, которое приказывает интерпретатору закончить выполнение оператора “switch”. Ключевое слово “default” обозначает “любое значение”, то есть код, начинающийся справа от этого места будет выполнен в случае, если иные значения не подойдут.

Абсолютно верен следующий блок кода. В нем используется тот факт, что оператор выбора сравнивает значение после “case” со значением, указанным в круглых скобках с помощью оператора “==”:

var x=5;
switch (true) {
    case (x==1): alert('x is equal to 1!'; break;
    case (x==2): alert('x is equal to 2!'; break;
    case (x==5): alert('x is equal to 5!'; break;
    default: alert("x isn't 1, 2 or 5!");
}

Фактические параметры функции.

В JavaScript нет возможности задания значения параметров функции по-умолчанию (в случае, если пользователь их не передал вовсе или передал неинициализированную переменную). Однако его можно легко обойти, используя следующий трюк:

function doAddition(firstVar, secondVar) {
    var first = firstVar || 5;
    var second= secondVar || 10;
    return first+second;
}
doAddition(12);

Переменной “first” будет присвоено значение переменной “firstVar”, если оно не равно нулю или null, иначе будет присвоено значение 5. То же самое происходит и с переменной “second”. Внимание: при использовании этого метода в функцию не получится передать ноль, так как он будет заменен на другое значение.

Схематично процесс инициализации можно обозначить так:

var someVariable = (присвоить это значение, если оно не ноль или null) || (иначе присвоить это значение)

Сокращенный условный оператор.

Использование этого варианта условного оператора не особо желательно, но в некоторых случаях он позволяет значительно сократить объем кода. Пример:

var userName = 'Bob';
var hello = (userName=='Bob') ? 'Hello Bob!' : 'Hello Not Bob!';

Схема работы этого условного оператора крайне проста. Переменная будет наделена либо значением, которое стоит после знака вопроса, либо значением, которое стоит после двоеточия. До знака вопроса происходит логическая проверка. Схема такова:

var someVariable = (логическое выражение) ? (если выражение истинно) : (если выражение ложно);

Итог.

В этой статье рассмотрены все условные операторы и использование логических операций в благих целях, то есть для облегчения процесса создания стабильного и корректного приложения.

2339