Условные операторы: if, else, else if

Оцените материал
(0 голосов)

Здравствуйте! Не всегда когда вы пишете программу она будет выполняться линейно то есть строчка за строчкой, а иногда требуется задать некое условие и в зависимости от этого условия будет выполняться тот ил иной участок кода. И вот как раз для этих случаев и предусмотрены условные операторы if, else, else if. О них и пойдет разговор в этом уроке.

Оператор IF.

Оператор if (если) получает в скобки условие и выполняет код в фигурных скобках, которые идут после только если это условие истинно. И после круглых скобок в которых задается условие точка с запятой не ставится. Например:

 var dohod = 100;
 if(dohod >50){
   document.write("Ваш доход больше 50");
}

В этом примере в браузере юудет напечатана строка "Ваш доход больше 50", поскольку происходит сравнение с переменной dohod, а в этой переменной находится число 100. А если в этой переменной было бы число меньше 50, то мы бы ничего не увидели в браузере поскольку условие ложно и код в фигурных скобках не будет выполняться.

Оператор if  преобразует выражение  стоящее скобках к логическому типу.

Преобразования происходят следующим образом:

  • Число нуль, пустая строка "", null и undefined и  NaN будут false,
  • Все остальные значения – true.

Например:

 if(0) { //0 преобразуется к false
  }
if(1) {  //1 переводится к true

}

Ложное условие else.

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

 var age = 17;
if(age >18) {
  document.write("Вы достигли совершенолетия.");
}
else {
  document.write("Вы еще очень молоды.");
}

Здесь код выведет "Вы еще очень молоды", поскольку в переменной age находится значение 17 и условие в блоке if не выполнится, а сработает блок else. 

Множественные условия else if.

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

  
var ans = prompt("В каком году появился язык JavaScript?");
  if(ans > 1995) {
   alert("Как то поздновато");
}
else if(ans<1995) {
  alert("Как то рановато");
}
else {
  alert("В самую точку");
}

В примере сначала произойдет проверка в блоке if, затем в блоке else if и в результате перейдет в else.

Тернарный оператор ?.

Тернанрный оператор может применяться в условных операциях как замена блоку if ... else. Вот пример:

 var dostup = age > 18 ? true: false;

В этом примере в переменной dostup будет значение true, если в переменной age будет значение больше 18, а иначе false.

А вот этот же пример но с if ... else.

 var dostup;
 var age = prompt("Введите свой возраст");
if(age>18) {
  dostup = true;
}
else {
 dosyup = false;
}

Я думаю разница очевидна. Хотя можно писать и так и так разницы да и ошибки не будет. ? - тернарный оператор получил свое название за то что ему надо передавать три аргумента, а обычным операторам  только 2.

Оператор  switch..case

Конструкция switch..case позволяет заменить блоки  if..else if..else и обрабатывает несколько условий:

var dohod = 300;
switch(dohod){
    case 100 :
        alert("Ваш доход равен 100");
        break;
    case 200 :
        alert("Ваш доход равен 200");
        break;
    case 300 :
        alert ("Ваш доход равен 300");
        break;
}

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

Для того чтобы не выполнялись другие блоки case после каждого case надо ставить оператор break. Этот оператор позволяет выйти из конструкции switch ... case.

Для обработки значения которого нет ни в одном из case используется оператор default.

var dohod = 300;
switch(dohod){
    case 100 :
        alert("Ваш доход равен 100");
        break;
    case 200 :
        alert("Ваш доход равен 200");
        break;
    case 300 :
        alert ("Ваш доход равен 300");
        break;
    default:
        alert("Доход неизвестен");
        break;

Также посмотрите видео по условным операторам в JavaScript.

Прочитано 316 раз Последнее изменение Четверг, 24 августа 2017 16:04
Другие материалы в этой категории:
Понравилась запись? Подпишитесь на обновления по почте:

Нетология

TemplateMonster

Поиск по сайту

Связной трэвел

Google+