Продолжаем изучать условия в JavaScript. И здесь мы поговорим о множественных условиях и логических операторах И и ИЛИ.
Давайте снова вернёмся к реальной жизни - вспомним пример из предыдущей темы.
Если вечером будет ясно, то мы пойдём в парк.
<script type="text/javascript">
var pogoda = "ясно"; /* создаём переменную pogoda и присваиваем ей значение "ясно" */
if(pogoda == "ясно") /* создаём условие: если pogoda равно "ясно" - ИСТИНА */
{ /* то... */
document.write("Мы с семьей вечером идем в Парк");
}
</script>
В этом примере мы имеем дело лишь с одной переменной - pogoda. Если погода ясная, то мы идём в парк. И это простое условие.
Множественные условия - Логический оператор И
Но в жизни наши действия часто зависят от нескольких условий:
Если вечером будет ясно и у нас есть машина, то мы едем на пляж.
Или, если у нас нет машины и погода пасмурная, то мы идём в кино.
Это и есть множественные условия, которые состоят из нескольких частей. В них ключевым словом является И.
Это И есть и в JavaScript. Оно называется логическое И, и обозначается как два амперсанда &&. То есть благодаря логическому оператору И мы можем создавать множественные условия в JavaScrip.
<script type="text/javascript">
var pogoda = "ясно"; /* создаём переменную pogoda и присваиваем ей значение "ясно" */
var auto = "ДА"; /* создаём переменную auto и присваиваем ей значение "ДА" */
if(pogoda == "ясно" && auto == "ДА") /* создаём множественное условие: если pogoda равно "ясно" И у нас есть машина */
{ /* то... */
document.write("Мы едем на пляж");
}
else /* иначе... */
{ document.write("Мы идём в пиццерию");
}
</script>
Мы едем на пляж
В примере выше мы создали два условия, оба выполняются - значит, в целом множественное условие принимает значение ИСТИНА, поэтому совершается действие, следующее после оператора If.
Если же хотя бы одно из условий принимает значение ЛОЖЬ, как в примере ниже, где у нас нет машины, то выполняется альтернатива - действие, следующее после оператора Else.
<script type="text/javascript">
var pogoda = "ясно"; /* создаём переменную pogoda и присваиваем ей значение "ясно" */
var auto = "Нет"; /* создаём переменную auto и присваиваем ей значение "Нет" */
if(pogoda == "ясно" && auto == "ДА") /* создаём множественное условие: если pogoda равно "ясно" И у нас есть машина */
{ /* то... */
document.write("Мы едем на пляж");
}
else /* иначе... */
{ document.write("Мы идём в пиццерию");
}
</script>
Мы идём в пиццерию
Ещё раз напомним о... значениях переменных!!!
Не лишним будет ещё раз напомнить о том, что значения переменных чувствительны к регистру. Давайте снова обратимся к предыдущему примеру, где у нас есть машина, то есть к варианту, где переменной auto присвоено значение "ДА" и, где, в результате, "Мы едем на пляж"
Попробуем изменить значение переменной auto на "Да" и что мы увидим:
<script type="text/javascript">
var pogoda = "ясно"; /* создаём переменную pogoda и присваиваем ей значение "ясно" */
var auto = "Да"; /* создаём переменную auto и присваиваем ей значение "Да" */
if(pogoda == "ясно" && auto == "ДА") /* "Да" и "ДА" это разные значения */
{ /* то... */
document.write("Мы едем на пляж");
}
else /* иначе... */
{ document.write("Мы идём в пиццерию");
}
</script>
Мы идём в пиццерию
В результате "Мы идём в пиццерию", так как "Да" и "ДА" - это разные значения переменной auto, поэтому множественное условие не выполняется, то есть в результате мы имеем ЛОЖЬ.
До этого момента в примерах выше, мы работали с множественными условиями, для связки которых пользовались логическим оператором И.
Но часто мы ставим условия в формате ИЛИ.
Логический оператор ИЛИ обозначается как две вертикальные лини ||.
Если придёт Павел или Игорь, то мы пойдём играть в теннис.
Обратите внимание: при использовании логического оператора И для Истинности высказывания обязательным является выполнение обоих условий; при использовании логического оператора ИЛИдостаточно выполнения одного из условий.
<script type="text/javascript">
var name = "Павел";
if(name == "Павел" || name == "Игорь") /* Если выполняется одно из условий */
{ /* то... */
document.write("Мы пойдём играть в теннис");
}
else /* иначе... */
{ document.write("Мы идём играть в бильярд");
}
</script>
Мы пойдём играть в теннис
В результате мы видим, что, несмотря на то, что одно из условий не выполняется, в целом множественное условие всё равно принимает Истинное значение, так как при использовании логического ИЛИ достаточно выполнения одного из условий.
Домашнее задание - Логические операторы И - ИЛИ в Javascript
Пройдя тему множественных условий и логических операторов И - ИЛИ в JavaScript, можно выполнить Домашнее задание, которое будет касаться также темы Массивов.
У Вас есть массив: var friends = ["Алексей", "Вячеслав", "Григорий", "Настя"];
Вам нужно написать условие, что, если длина этого массива равна 4 и последним элементом
является "Настя", то вывести на экран сообщение "Этот массив мне подходит",
а иначе вывести на экран, что массив вам не подходит.
Теперь мы можем легко выполнить текущее домашнее задание по теме Множественные условия в Javascript - Логические операторы И - ИЛИ.
<script type="text/javascript">
var friends = ["Алексей", "Вячеслав", "Григорий", "Настя"];
var count = friends.length; /* Создаём переменную count в которую заносим число элементов Массива friends */
var last_element=friends[friends.length-1]; /* Создаём переменную last_element, в которую заносим значение последнего элемента массива */
if(count == 4 && last_element == "Настя") /* создаём условие: если count равно 4 и last_element равно "Настя" */
{
document.write("Этот массив мне подходит");
}
else /* иначе... */
{ document.write("Этот массив мне не подходит");
}
</script>
Этот массив мне подходит
И опять же, по аналогии с заданием по предыдущей теме, код для этого Домашнего задания можно записать немного иначе - короче, не создавая переменных count и last_element.
Смотрите пример ниже...
<script type="text/javascript">
var friends = ["Алексей", "Вячеслав", "Григорий", "Маша"];
if(friends.length== 4 && friends[friends.length - 1] == "Настя") /* создаём условие: если число элементов массива friends равно 4 и последним элементом массива является "Настя", то... */
{
document.write("Этот массив мне подходит");
}
else /* иначе... */
{ document.write("Этот массив мне не подходит");
}