Синтаксис if else. Условные операторы. теги маркированного списка

В данном примере мы сначала объявляем четыре переменные с помощью ключевого слова var, и сразу присваиваем им числовые значения. Далее с помощью операторов инкремента и декремента мы меняем значения чисел. Информация выводится с помощью функции Echo (смотрите статью " "). Что бы не писать лишний раз имя объекта, я использовал конструкцию with{} .

Логические операторы

Логические операторы используются при проверке условия, что бы не повторяться, я сделаю сокращение: левый операнд – Л.О., а правый операнд – П.О.

  • && - Логическое "И"
  • || - "ИЛИ"
  • ! - "НЕ"
  • > - Л.О. больше П.О.
  • >= - Л.О. больше или равен П.О.
  • < - Л.О. меньше П.О.
  • = 5 && a= 5 || b== 100 ) //истина msg2 = "TRUE" ; else msg2 = "FALSE" ; Popup (msg2, 5 , title, vbInformation) ; //условный оператор js if else if (! a) //ложь msg3 = "TRUE" ; else msg3 = "FALSE" ; Popup (msg3, 5 , title, vbInformation) ; if (a&= 100 ) //ложь msg4 = "TRUE" ; else msg4 = "FALSE" ; Popup (msg4, 5 , title, vbInformation) ; }

    Как и в предыдущем скрипте, тут я использовал конструкцию with для сокращения программного кода. Однако, для вывода информация мы воспользовались функцией Popup (смотрите статью " "). В результате, диалоговые окна закроются автоматически через несколько секунд. Обратите внимание, что в данном примере мы не использовали фигурные скобки в условном операторе js if, они актуальны только тогда, когда нужно выполнить не одну строку кода, а несколько.

    Напоследок, давайте рассмотрим такой практический пример, как решение квадратного уравнения:

    // Решение квадратного уравнения // uravnenije_if_else.js // *********************************************************** var a, b, c, d, x, x1, x2; //Объявляем переменные a=- 2 ; b= 6 ; c= 20 ; //Идет поиск дискриминанта d= Math .pow (b, 2 ) - 4 * a* c; if (d== 0 ) { x= b/ (2 * a) ; msg= "Уравнение имеет одно решение, x ровно " + x } else { if (d> 0 ) { x1= (- b+ Math .sqrt (d) ) / (2 * a) ; x2= (- b- Math .sqrt (d) ) / (2 * a) ; msg= "Уравнение имеет два решения \n x1 ровно " + x1 + "\n x2 ровно " + x2; // условный оператор if else js } else msg= "Решения нет" ; } WScript.Echo (msg) ;

    Начинаем изучать тему условных операторов в JavaScript . Здесь мы будем рассматривать конструкцию If-Else . В переводе на русский язык это условие читается как Если-То .

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

    Например, если вечером будет ясно, то мы пойдём в парк.

    если этот автомобиль стоит меньше 1000$, то я его куплю и т.п.

    Таким образом, как Вы уже, наверное, поняли условие «Если» и следствие «То» сплошь и рядом встречаются в нашей жизни. То есть наше поведение в различных ситуациях в основном зависит от каких-либо условий.

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

    Давайте попробуем реализовать какой-нибудь простой пример применения условных операторов, а точнее конструкции If-Else в JavaScript .

    Для начала рассмотрим, как работает оператор If в JavaScript

    Для этого ниже сначала приведём пример, а затем его разберём.

    var pogoda = "ясно" ; /* создаём переменную pogoda и присваиваем ей значение "ясно" */

    if(pogoda == "ясно" ) /* создаём условие: если pogoda равно "ясно" - ИСТИНА*/

    { /* то... */

    document .write ();

    Мы с семьей вечером идем в Парк

    На что следует обратить внимание в примере выше ?

    Во-первых , на знаки равенства == и присваивания = в JavaScript . Их следует различать: то есть сначала мы создаём переменную и присваиваем ей значение. Затем в условии If мы говорим уже о равенстве.

    Во-вторых , когда говорится о выполнении или же невыполнении условия, заключённого в фигурные скобки {} , то следует понимать, что язык JavaScript воспринимает условие либо как Истину , либо как Ложь . То есть если условие Истинно , как в нашем случае, то выполняется действие, заключённое в фигурные скобки {} .

    Если же условие Ложно , как в примере ниже, то условие, заключённое в фигурных скобках {} , выполняться не будет.

    var pogoda = "пасмурно" ;

    if(pogoda == "ясно" ) /* теперь условие ЛОЖЬ: pogoda не равно "ясно" */

    document .write ("Мы с семьей вечером идем в Парк" );

    Вот так работает условный оператор If : если условие Истина - действие выполняется, если Ложь - не выполнятся. Всё просто.

    Теперь поговорим о том, как работает конструкция If-Else в JavaScript . Else переводится как «Иначе» .

    Давайте снова обратимся к реальной жизни. В большинстве случаев, если какое-либо условие выполняется, то мы делаем одно. Если же оно не выполняется - «Иначе» , то мы делаем другое.

    Продолжим работать с примерами, приведёнными ранее.

    Если вечером будет ясно, то мы пойдём в парк, иначе (если будет пасмурно) мы останемся дома и будем смотреть телевизор .

    Или если этот автомобиль стоит меньше 1000$, то я его куплю, иначе (если он стоит дороже ) я на эти деньги отправлюсь в путешествие .

    В JavaScript также есть такая возможность - предоставлять альтернативу (делать что-то другое) , если условие не выполняется. В JavaScript мы можем создавать подобные условия при помощи конструкции If-Else . Давайте обратимся к примеру.

    var pogoda = "пасмурно" ; /* переменной pogoda присваиваем значение "пасмурно" */

    if(pogoda == "ясно" ) /* создаём условие: если pogoda равно "ясно" - это ИСТИНА */

    document .write ("Мы с семьей вечером идем в Парк" );

    else /* иначе - если pogoda не равно "ясно" - это ЛОЖЬ */

    {
    document .write ("

    " + "Мы остаёмся дома - смотреть телевизор" );
    }

    Мы остаёмся дома - смотреть телевизор

    Разберём приведённый пример.

    Итак, если условие Истинно , то выполняется действие, следующее после оператора If , заключённое в фигурные скобки {} .

    Если же условие Ложно , то выполняется действие, следующее после оператора Else , также заключённое в фигурные скобки {} .

    Мы рассмотрели, как работает простая, но часто использующаяся в JavaScript конструкция If-Else . И здесь, на будущее, следует сказать о том, что каким бы сложным ни было условие, в первую очередь имеет значение то, что Истинно оно или Ложно .

    Для закрепления пройденного материала «Условные операторы в Javascript - Конструкция IF-ELSE » рассмотрим ещё один пример.

    Только теперь используем условие If-Else при работе с числами.

    var count = 10 ;

    if(count = 3 ) /* создаём условие: если число элементов массива friends больше или равно 3, то....*/

    document .write ("Это большой массив, в котором как минимум 3 элемента" );

    else /* иначе... */

    {
    document .write ("Это маленький массив, в котором менее 3-х элементов" );

    В этой статье рассмотрим условные и логические операторы языка JavaScript.

    Условные операторы JavaScript

    Условные операторы - это операторы языка JavaScript (ECMAScript), которые в зависимости от некоторого условия позволяют выполнить одно или несколько определённых инструкций.

    Формы условных операторов в JavaScript:

    • условный оператор if (с одной ветвью);
    • условный оператор if...else (с двумя ветвями);
    • условный оператор else if... (с несколькими ветвями);
    • тернарный оператор (?: );
    • оператор выбора switch .
    Условный оператор if

    Синтаксис оператора if:

    If (условие) инструкция

    Условный оператор if состоит из:

    • ключевого слова if ;
    • условия (выражения в круглых скобках), которое должно равняться true или false (или быть приведено к одному из этих значений);
    • инструкции, которую нужно выполнить , если условие является true или приведено к нему.

    Например:

    If (true) count = 4;

    В этом примере в качестве условия используется значение true . Это означает, что инструкция count = 4 будет выполняться всегда. Данный пример просто приведен для пояснения принципа работы оператора if , т.к. он лишён всякого смысла.

    Например , увеличим значение переменной votes на 1, если она (её тип) является числом:

    If (typeof votes === "number") votes++;

    Если необходимо выполнить несколько инструкций, то их необходимо поместить в фигурные скобки :

    If (typeof votes === "number") { votes++; console.log("Число голосов: " + votes); }

    If (typeof votes === "number") { votes++; }

    Оператор if...else

    Оператор if...else используется, когда необходимо при истинности условия выполнить одни инструкции, а при ложности - другие.

    Синтаксис:

    If (условие) { одно или несколько инструкций (будут выполняться, когда условие равно true или приведено к true) } else { одно или несколько инструкций (будут выполняться, когда условие равно false или приведено к false) }

    Например , выведем в консоль сообщение о том, является ли число четным или нет:

    If (number % 2) { console.log("Число нечётное!"); } else { console.log("Число чётное!"); }

    Правило приведения условия к true или false

    Если выражение в условии оператора if не равно true или false , то JavaScript приведёт его к одному из этих значений. Данное действие он выполняет с помощью так называемого "правила лжи".

    Смысл данного правила: любое выражение является true, кроме следующих значений :

    • false (ложь);
    • "" или "" (пустая строка);
    • NaN (специальный числовой тип данных «не число»);
    • 0 (число «ноль»);
    • null («пустое» значение);
    • undefined («неопределённое» значение).

    Например , выведем в консоль браузера приветственное сообщение, в зависимости от того какое значение хранится в переменной nameUser :

    If (nameUser) { console.log("Привет, " + name + "!"); } else { console.log("Привет, гость!"); }

    Если переменная nameUser будет содержать пустую строку , то по правилу лжи, она будет приведена к значению false . Следовательно, в консоль будет выведено сообщение «Привет, гость!» .

    А если, например, переменная nameUser будет содержать строку «Тимур» , то выражение в условии будет приведено к значению true . В результате, в консоли отобразится сообщение «Привет, Тимур!» .

    Оператор else if... (несколько условий)

    Синтаксис:

    If (условие1) { инструкции 1 } else if (условие2) { инструкции 2 } else if (условие3) { инструкции 3 //... } else if (условиеN) { инструкции N } else { инструкции, которые будут выполнены, если ни одно из условий не равно true или не приведёно к этом значению }

    Условный (тернарный) оператор (?:)

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

    Синтаксис:

    Условие? выражение1: выражение2

    Тернарный оператор состоит из трех операндов, которые разделяются с помощью символов? и: . Условие тернарного оператора задаётся в первом операнде. Его также можно заключить в скобки. Если условие равно true или будет приведено к этому значению будет выполнено выражение1 , иначе - выражение 2 .

    Например:

    (number > 10) ? console.log("Число больше 10!") : console.log("Число меньше или равно 10");

    В JavaScript допустимы множественные тернарные операторы (?:):

    Var dayNumber = new Date().getDay(); day = (dayNumber === 0) ? "Воскресенье" : (dayNumber === 1) ? "Понедельник" : (dayNumber === 2) ? "Вторник" : (dayNumber === 3) ? "Среда" : (dayNumber === 4) ? "Четверг" : (dayNumber === 5) ? "Пятница" : (dayNumber === 6) ? "Суббота" : "Неизвестный день недели"; console.log("Сегодня " + day.toLowerCase() + ".");

    Вышеприведённый пример, но с использованием множественной записи оператора if...else:

    Var dayNumber = new Date().getDay(); if (dayNumber === 0) { day = "Воскресенье"; } else if (dayNumber === 1) { day = "Понедельник"; } else if (dayNumber === 2) { day = "Вторник"; } else if (dayNumber === 3) { day = "Среда"; } else if (dayNumber === 4) { day = "Четверг"; } else if (dayNumber === 5) { day = "Пятница"; } else if (dayNumber === 6) { day = "Суббота"; } else { day = "Неизвестный день недели"; } console.log("Сегодня " + day.toLowerCase() + ".");

    Оператор switch

    Оператор switch предназначен для выполнения одного варианта инструкций из нескольких в зависимости от значения выражения. Выбор того или иного варианта определяется посредством строгого равенства результата выражения значению случая (case ).

    Синтаксис оператора switch :

    Switch (выражение) { case значение1: // ... инструкции, которые будут выполнены, если результат вычисления выражения равен «значение1» break; // необязательная инструкция (если её не использовать, то будет выполнена следующая команда оператора switch) case значение2: // ... инструкции, которые будут выполнены, если результат вычисления выражения равен «значение2» break; // необязательная инструкция (если её не использовать, то будет выполнена следующая команда оператора switch) // ... case значениеN: // ... инструкции, которые будут выполнены, если результат вычисления выражения равен «значениеN» break; // необязательная инструкция (если её не использовать, то будет выполнена следующая команда оператора switch) default: // инструкции, которые будут выполнены, если результат выражения не равен не одному из значений }

    Ключевое слово default является необязательным. Оно используется, когда необходимо задать инструкции, которые нужно выполнить, если результат выражения будет не равен ни одному значению варианта (case ).

    Инструкция break является необязательной. Она предназначена для прерывания выполнения оператора switch и передачи управлению инструкции, идущей после него.

    Например , выведем сообщение в консоль браузера о количестве конфет:

    Var countCandyBoys = 1, countCandyGirls = 2, message; switch (countCandyBoys + countCandyGirls) { case 1: message = "Одна конфета"; break; case 2: case 3: message = "Две или три конфеты"; break; case 4: message = "Четыре конфеты"; break; default: message = "Не одна, не две, не три и не четыре конфеты"; } // выведем сообщение в консоль console.log(message);

    В вышеприведенном примере вычисленное выражение равно 3. Следовательно, будет выполнены инструкции message = "Две или три конфеты" и break . Инструкция break прервёт дальнейшее выполнение оператора switch и передаст управление инструкции, идущей после него, т.е. console.log(message) . Она выведет в консоль сообщение «Две или три конфеты» .

    Например , выведем выведем в консоль текущий день недели:

    Var day = ""; switch(new Date().getDay()) { case 0: day = "Воскресенье"; break; case 1: day = "Понедельник"; break; case 2: day = "Вторник"; break; case 3: day = "Среда"; break; case 4: day = "Четверг"; break; case 5: day = "Пятница"; break; case 6: day = "Суббота"; break; default: day = "Неизвестный день недели"; } console.log("Сегодня " + day.toLowerCase() + ".");

    Пример, в котором не используется инструкция break :

    Var result = "success"; switch (result) { case "success": console.log("Успех!"); case "invalidCaptcha": console.log("Неверная капча!"); default: console.log("Ошибка!"); }

    В этом примере выражение оператора switch равно success . Следовательно, будет выполнена инструкция console.log("Успех!") , которая выведет сообщение «Успех!» в консоль. Но так как после неё нет инструкции break , то выполнение скрипта будет продолжено в следующем варианте. Таким образом, инструкции будут выполняться до тех пока пока на пути не встретиться break или не будет достигнут конец оператора switch . В результате выполнения этого примера в консоль будут выведены 3 сообщения: «Успех!» , «Неверная капча!» и «Ошибка!» .

    В некоторых случаях может требоваться именно такое поведение, но не в этом. Здесь просто допущена ошибка.

    Исправленный вариант примера:

    Var result = "success"; switch (result) { case "success": console.log("Успех!"); break; case "invalidCaptcha": console.log("Неверная капча!"); break; default: console.log("Ошибка!"); }

    Логические операторы

    В JavaScript различают следующие логические операторы:

    • && - логическое "И";
    • || - логическое "ИЛИ";
    • ! -логическое "НЕ".

    Если в логическом выражении operand1 && operand2 используются булевы значения, то результатом этого выражения будет значение true , если каждый из них равен true ; иначе значением этого выражения будет значение false .

    False && false // false true && false // false false && true // false true && true // true

    Если в логическом выражении operand1 && operand2 используются не булевы значения, то результатом этого выражения будет operand1 , если его можно привести к false ; иначе результатом этого выражения будет operand2 .

    5 && 0 // 0 1 && 5 // 5 "строка" && undefined // undefined "строка1" && "строка2" // "строка2"

    Если в логическом выражении operand1 || operand2 используются булевы значения, то результатом этого выражения будет значение true , если хотя бы один из них равен true ; иначе значением этого выражения будет значение false .

    False || false // false true || false // true false || true // true true || true // true

    Если в логическом выражении operand1 || operand2 используются не булевы значения, то результатом этого выражения будет operand1 , если его можно привести к true ; иначе результатом этого выражения будет operand2 .

    5 || 0 // 5 1 || 5 // 1 "строка" || undefined // "строка" "строка1" || "строка2" // "строка1"

    Результатом логического выражения!operand1 будет значение true , если operand1 равно false или его можно привести к этому значению; иначе результатом этого выражения будет значение false .

    False // true !true // false !"строка" // false !5 // false"

    Управляющие инструкции - это инструкции, которые позволяют управлять выполнением программного кода. Обычно выполняемый код в управляющей инструкции называют телом этой инструкции.

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

    Условные инструкции

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

    Инструкция if

    Инструкция if имеет две формы. Синтаксис первой формы:

    Выражение в круглых скобках называется условием выполнения инструкции if или кратко условием . Сначала вычисляется значение выражения. Полученное значение, если необходимо, неявно преобразуется к булеву типу. Если результатом вычисления выражения является значение true , то инструкция выполняется. Если выражение возвращает false , то инструкция не выполняется:

    If (true) alert("Выполнено!"); if (false) alert("Не выполнится!");

    Синтаксис if позволяет выполнить только одну инструкцию, однако если требуется выполнить более одной инструкции нужно использовать составную инструкцию :

    If (true) { var str = "Hello!"; alert(str); }

    Синтаксис второй формы:

    If (выражение) инструкция; else инструкция;

    Ключевое слово else позволяет добавить инструкцию, выполняемую в том случае, если условие имеет ложное значение:

    If (false) alert("Не выполнится"); else alert("Выполнится");

    Как уже было сказано, управляющие инструкции могут быть вложенными, что позволяет создавать следующие конструкции:

    Var num = 2; if (num == 1) { alert("значение num: " + num); } else if (num == 2) { alert("значение num: " + num); } else { alert("Не знаю такого числа!"); }

    В этом коде нет ничего особенного. Это просто последовательность инструкций, где каждая инструкция if является частью else предыдущей инструкции if . Такая форма записи на первый взгляд может показаться не совсем понятной, поэтому рассмотрим синтаксически эквивалентную форму, показывающую вложенность инструкций if:

    Var num = 2; if (num == 1) { alert("значение num: " + num); } else { if (num == 2) { alert("значение num: " + num); } else { alert("Не знаю такого числа!"); } }

    Условный оператор позволяет пропустить или выполнить некоторый блок кода в зависимости от результата вычисления указанного выражения - условия. Можно сказать, что условный оператор является точкой принятия решения в программе, иногда его также называют оператор ветвления. Если представить, что программа - это дорога, а интерпретатор PHP - путешественник, идущий по ней, то условные операторы можно представить как перекрестки, где программный код разветвляется на две или более дорог, и на таких перекрестках интерпретатор должен выбирать, по какой дороге двигаться дальше.

    Оператор if

    Оператор if является наиболее простым из операторов ветвлений.

    Синтаксис оператора if:

    Оператор if сначала вычисляет условное выражение указанное в круглых скобках, результатом этого выражения является булево значение. Если полученный результат является истинным (true), то инструкция выполняется. Если выражение возвращает ложное значение (false), то инструкция не выполняется. В качестве условия может применяться выражение любой сложности.

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

    Следующий код демонстрирует применение оператора if:

    Операторы if могут быть вложенными в другие операторы if:

    Обратите внимание на последний пример: инструкцию не обязательно надо записывать именно под оператором if , если инструкция не большая по размеру, то ее можно записать и в одну строку.

    Оператор if else

    И так мы узнали, что оператор if позволяет выполнять инструкции в том случае, если условие истинно. Если же условие оказывается ложно, то никаких действий не выполняется. Однако часто бывает необходимо выполнить одни инструкции, если определенное условие истинно, и другие инструкции, если условие ложно. Именно для таких случаев используется ветвление if else . Оно состоит из оператора if , за которым следует блок инструкций и ключевого слова else , за которым следует другой блок инструкций.

    Синтаксис оператора if else:

    Оператор else не является обязательным. Блок инструкций расположенный после else выполняется по умолчанию, т.е. когда условное выражение в if возвращает значение false . Оператор else не может быть использован отдельно от оператора if . Блок else должен располагаться только после оператора if , его можно рассматривать, как действие по умолчанию.

    Немного изменив наш предыдущий пример, мы можем увидеть, как работает оператор if else , если условие возвращает значение false:

    Оператор if else может быть вложенным. Такие вложенные условные операторы встречаются на практике достаточно часто. Оператор if является вложенным, если он расположен внутри другого блока if или else . Если в коде используется несколько операторов if подряд, то else всегда относится к ближайшему if:

    Последний else не относится к if($a) , так как он находится не во внутреннем блоке, поэтому ближайший к нему получается if($i) . Оператор else расположенный внутри блока относится к if($b) , потому что этот if - является ближайшим к нему.

    Конструкция elseif/else if

    Оператор if/else вычисляет значение условного выражения и выполняет тот или иной фрагмент программного кода. Но что, если требуется выполнить один из многих фрагментов? Если вам нужно проверить несколько условий подряд, то для этого подойдет конструкция elseif или else if (это одна и та же конструкция, просто по разному записана). Формально она не является самостоятельной конструкцией PHP - это лишь распространенный стиль программирования, заключающийся в применении повторяющихся операторов if/else . Она позволяет проверять дополнительные условия, пока не будет найдено истинное или достигнут блок else . Конструкция elseif/else if должна располагаться после оператора if и перед оператором else , если такой имеется.

    Здесь проверяется три условия, и, в зависимости от значения переменной $username , выполняются разные действия.

    На самом деле в этом фрагменте нет ничего особенного. Это просто последовательность операторов if , где каждый оператор if является частью конструкции else предыдущего if . Для тех кто впервые столкнулся с такой формой записи и ему не очень понятно, как это работает, мы перепишем этот же пример, только в эквивалентной синтаксической форме, полностью показывающей вложенность конструкций:

Понравилось? Лайкни нас на Facebook