Условный оператор в JavaScript. JavaScript - Условные и логические операторы Javascript условные операторы

В JavaScript есть конструкция условий, которая влияет на выполнения ход программы. Если (по английски if) что-то есть, что-то истинно, тогда делать одно, иначе (по английски else) - делать другое.

Инструкция if

Давайте сразу рассмотрим схему работы инструкции if , она проста и не требует больших объяснений.

If (условие) { код для выполнения, если условие истинно }

Всё просто: если условие истинно, тогда код в блоке {...} выполняется.

Var digit = 4; if (digit == 4) { document.write("Значение переменной digit равно 4."); }

Можно сделать немного странный код:

Var digit = 4; if (true) { document.write("Условие истинно."); }

Инструкция else

В паре с инструкцией if может использоваться инструкция else . Она переводится как "иначе" и задаёт альтернативный код.

Var digit = 4; if (digit

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

После инструкции else может идти новая инструкция if. Так мы выполним проверку множественных условий.

Var digit = 4; if (digit

В JavaScript нет инструкции elseif (одним словом), как в PHP.

Если вам нужно выполнить только одну инструкцию, то фигурные скобки блока {...} не нужны. В нашем примере их можно не писать:

Var digit = 4; if (digit

Ложь в JavaScript

Инструкция if (условие) вычисляет и преобразует условие (выражение) в скобках к логическому типу boolian (истина или ложь).

Повторим что есть ложь в JavaScript.

  • Число 0 (ноль).
  • Пустая строка "".
  • Логическое значение false:)
  • Значение null.
  • Значение undefined.
  • Значение NaN (Not a Number - не число).

Всё остальное является истиной.

Пара возможных ошибок:

If ("false") document.write("Это истина.
"); if (false) document.write("Это истина.

");

Тут нужно отличить строку "false" (взята в кавычки), от значения булевого типа false.

If (" ") document.write("Это истина.
"); else document.write("Это ложь.
");

Тут нужно отличить строку " " (внутри пробел), от пустой строки "". Пробел внутри строки делает её не пустой, а содержащий символ. Для интерпритатора не важно буква или пробел - символ есть символ.

Другие условные конструкции в JavaScript
  • Консрукция switch JavaScript .
  • Оператор вопросительный знак

Урок №5
Операторы ветвления if в языке JavaScript

Операторы ветвления предназначены для того, чтобы программа могла запускать тот или иной блок кода, в зависимости от верности true или не верности false условия.

Операторов ветвления существует пять видов, в этом уроке мы рассмотрим два из них:
— оператор ветвления if
— оператор ветвления if else

Запускает код, если условие возвращает true .

В качестве условия, в операторах ветвления, обычно выступают операции сравнения или логические операции.

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

If (условие) { код запустится, если условие вернёт true }

Приведём пример с оператором ветвления if:

// создадим две переменные var numOne; var numTwo; // присвоим переменным значения numOne = 5; numTwo = 3; if (numOne > numTwo) { alert("Условие возвратило true"); }

В скрипте мы создали две переменные numOne и numTwo , присвоили им числовые значения 5 и 3 .

Далее создали оператор ветвления if , который сравнивает между собой значения двух переменных. Если операция сравнения вернёт true , то запустится код расположенный между фигурными скобками. В нашем случае, появится окошко с сообщением Условие возвратило true . Если операция сравнения вернёт false , то ничего не произойдёт.

Символы двойного слеша // , являются комментарием. После двойного слэша можно написать любой текст, интерпретатор языка JavaScript, будет воспринимать его как комментарий и обрабатывать не будет. Как мы помним, в языках и , тоже можно создавать комментарии.

Оператор ветвления if else , предназначен для запуска того или иного блока кода, в зависимости от значения которое вернёт условие: true или false

Схема оператора ветвления if else , выглядит следующим образом:

If (условие) { код запустится, если условие вернёт true } else { код запустится, если условие вернёт false }

Приведём пример с оператором ветвления if else:

Var numOne; var numTwo; numOne = 5; numTwo = 3; if (numOne > numTwo) { alert("Условие возвратило true"); } else { alert("Условие возвратило false"); }

Присвойте переменной numTwo , число большее чем 5 , например 7 , тогда условие вернёт false и появится окошко с сообщением Условие возвратило false .

Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы разобрали создание циклов в javascript . В данной статье я бы хотел рассказать об условном операторе в JavaScript . Вообще всё программирование состоит из условий, и во всех языках программирования (JavaScript не стал исключением) существует понятие условного оператора. Смысл условного оператора состоит в том, что, если условие выполняется, то делать вот эти действия, если не выполняется — то делать другие действия. Общая схема условного оператора выглядит следующим образом:

If (условие) { //Блок операторов }; else { //Блок операторов }

Давайте сразу напишем какой-нибудь пример: будем запрашивать число у пользователя и, если оно четное, выводить сообщение "Это число четное" , если нет — "это число нечетное" :

Условный оператор JavaScript var a = prompt("Введите число","Ваше число..."); if (a%2 == 0) alert("Это число четное"); else alert("Это число нечетное");

Если вы наберете данный код, то увидите, что всё работает. Сейчас я вам покажу, как важен синтаксис в JavaScript . Уберите знак ";" перед else и код сразу перестанет работать. Поэтому всегда будьте внимательны. В одной из следующих статей, я расскажу, как отлавливать ошибки в JavaScript .
Один условный оператор может вставляться в другой. Давайте добавим проверку на то, что пользователь внёс число "0".

Условный оператор JavaScript var a = prompt("Введите число","Ваше число..."); if (a%2 == 0) { if (a == 0) alert("Вы ввели 0"); else alert("Это число четное"); } else alert("Это число нечетное");

Сейчас я вам покажу, как проверять несколько условий. Есть такое понятие, как логическое "И" (обозначается с помощью символов &&). Также есть понятие логического "ИЛИ" (обозначается с помощью символов ||). Приоритет у логического "И" выше, т.е. сначала выполнится проверка этого условия, а потом проверка логического "ИЛИ".
Давайте разберем такой пример: пусть у нас создаётся случайное число от 1 до 10. Необходимо вывести фразу "Нужное число = " и само число, если это число не равно 6 и больше 5 или больше 1, но меньше 4:

Условный оператор JavaScript var a = 10 * Math.random(); //Math.random возвращает значение от 0 до 1, поэтому мы умножаем на 10 a = Math.round(a); //Округляем a до целого if ((a != 6 && a > 5) || (a > 1 && a < 4)) alert("Нужное число = "+a); else alert("Не соответствует условию = "+a);

В данном случае нужными числами являются: 2,3,7,8,9,10. Другие числа не соответствуют условию.
Также хочу обратить ваше внимание на оператор "!=", который означает "не равно". Напоследок, при составлении условий всегда обращайте внимание на расстановку скобок. Большинство ошибок связано с их неправильной расстановкой.

var a = 10; var b = (a>1) ? 100: 200; alert(b);

Если условие a>1 истинно, то переменной b присвоить значение 100 , иначе переменной b присвоить значение 200 .

Задание Js 3_4. Дополнить код: объявлено 3 локальные переменные с использованием ключевого слова var . Необходимо в переменную max присвоить значение следующего тернарного оператора: если a больше b , то возвращаем a , иначе возвращаем b .
Фрагмент кода:

if (a * b < 6) { result = "Мало"; } else { result = "Много"; }


Вопросы для самоконтроля:

  • Каков синтаксис тернарного оператора?
  • Сколько аргументов у тернарного оператора?
  • Оператор переключения в javaScript - switch

    Оператор switch javascript служит для проверки переменной на множество значений:

    Синтаксис:

    switch (переменная или выражение) { case вариант1: //..блок операторов.. break case вариант2: //..блок операторов.. break default: //..блок операторов.. }

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

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

    Важно: Оператор break обязателен после каждого рассмотренного значения переменной (после каждого case ); если его не использовать, то будут выведены все, расположенные ниже операторы

    Сравним с оператором IF :

    var a = 2; switch(a) { case 0: // if (a === 0) case 1: // if (a === 0) alert("Ноль или один"); // тогда выводим... break; case 2: // if (a === 2) alert("Два"); // тогда выводим... break; default: // else alert("Много"); // иначе выводим... }

    Как сгруппировать несколько вариантов?

    Для выполнения одних и тех же операторов возможно группировка нескольких case . Как в примере выше:

    Case 0: case 1: alert("Ноль или один"); break; ...

    При a = 0 и a = 1 выполняется один и тот же оператор: alert("Ноль или один");

    Пример 4: Запрашивать у пользователя ввести цвет. Выводить перевод на английский язык введенного цвета. Для цвета "синий" и "голубой" выдавать одно и то же значение.


    ✍ Решение:
    • Создайте веб-страницу с html-скелетом и тегом script .
    • Инициализируйте переменную color
    • var color = prompt("Какой цвет?" ) ;

      var color = prompt("Какой цвет?");

    • Проверьте значение переменной с помощью конструкции switсh , выводя на каждое значение - соответствующий перевод:
    • switch (color) { case "красный" : alert("red"); break; case "зеленый": alert("green"); break; // ...

      Если переменная color имеет значение "красный", то вывести в модальное окно перевод - "red" и выйти из конструкции (break;). Если переменная color имеет значение "зеленый", то вывести в модальное окно перевод - "green" и выйти из конструкции (break;).

    • Для цветов "синий" и "голубой" выполните группировку:
    • // ... case "синий": case "голубой": alert("blue"); break; // ...

      Если переменная color имеет значение "синий" или переменная color имеет значение "голубой", то вывести в модальное окно перевод - "blue" и выйти из конструкции (break;).

    • Организуйте вывод для тех цветов, которые не предусмотрены программой:
    • // ... default : alert("y нас нет сведений по данному цвету" ) } // конец switch

      // ... default: alert("y нас нет сведений по данному цвету") } // конец switch

    • Протестируйте сценарий в браузере.

    Задание Js 3_6. Найдите и исправьте ошибки в следующем фрагменте кода:

    14 15 16 17 var number = prompt("Введите число 1 или 2:" ) ; switch (number) { case "1" { document.write ("Один" ) ; } ; break ; case "2" { document.write ("Два" ) ; } ; break ; default { document.write ("Вы ввели значение, отличное от 1 и 2" ) ; } ; }

    var number = prompt("Введите число 1 или 2:"); switch (number) { case "1" { document.write("Один"); }; break; case "2" { document.write("Два"); }; break; default { document.write("Вы ввели значение, отличное от 1 и 2"); }; }


    Задание Js 3_7. Что выведется на экране при выполнении следующего кода?:

    1 2 3 4 5 6 7 8 9 10 11 12 13 var value = "2" ; switch (value) { case "1" : case "2" : case "3" : document.write ("Hello" ) ; break ; case "4" : case "5" : document.write ("World" ) ; default : document.write ("Error" ) ; }

    var value = "2"; switch (value) { case "1": case "2": case "3": document.write("Hello"); break; case "4": case "5": document.write("World"); default: document.write("Error"); }


    Задание Js 3_8. У пользователя запрашивать число – количество ворон на ветке. В зависимости от введенного числа (не более 10), выводить сообщение: - На ветке сидит 1 ворона - На ветке сидит 4 вороны - На ветке сидит 10 ворон

  • В зависимости от введенного числа, меняется окончание у слова "ворона" .
  • Для проверки использовать оператор Switch javascript.
  • Сохраните данную страницу в папке результатов (она пригодится для дальнейших работ).

  • Вопросы для самоконтроля:

  • В каком случае целесообразно в качестве условного оператора использовать конструкцию switch ?
  • Для чего служит блок default в операторе switch ?
  • Обязательно ли использование оператора break в конструкции switch ?
  • Как осуществляется группировка для нескольких вариантов значений в операторе switch ?
  • Циклические операторы языка javaScript - For

    Синтаксис:

    for(начальное значение счетчика; условие; приращение счетчика) { //..блок операторов.. }

    Важно: Цикл в javascript for используется, когда заранее известно, сколько раз должны повториться циклические действия (сколько итераций у цикла)

    • В качестве начального значения счетчика итераций используется выражение присваивания: например, i=0 - счетчик цикла начинается с нуля:
    • for(var i = 0; условие; приращение счетчика) { //..блок операторов.. }

    • В качестве приращения счетчика указывается шаг, с которым должен увеличиваться счетчик: например, указывает на то, что каждая итерация цикла будет сопровождаться его увеличением на 1 :
    • for(var i = 0; условие; i++) { //..блок операторов.. }

    • Условие цикла - это и есть конечное значение счетчика: например, i10, останавливает цикл:
    • for(var i = 0; i