В этой статье рассмотрим условные и логические операторы языка JavaScript.
Условные операторы JavaScript
Формы условных операторов в JavaScript:
Условный оператор if
Синтаксис оператора if:
Условный оператор if состоит из:
Если необходимо выполнить несколько инструкций, то их необходимо поместить в фигурные скобки :
Рекомендуется, использовать фигурные скобки даже когда используется одна инструкция:
Оператор if. else
Правило приведения условия к true или false
Смысл данного правила: любое выражение является true, кроме следующих значений :
Оператор else if. (несколько условий)
Условный (тернарный) оператор (?:)
Тернарный оператор – оператор JavaScript, который можно использовать, когда необходимо в зависимости от условия выполнить одно из двух заданных выражений.
Вышеприведённый пример, но с использованием множественной записи оператора if. else :
Оператор switch
Оператор switch предназначен для выполнения одного варианта инструкций из нескольких в зависимости от значения выражения. Выбор того или иного варианта определяется посредством строгого равенства результата выражения значению случая ( case ).
Синтаксис оператора switch :
Ключевое слово default является необязательным. Оно используется, когда необходимо задать инструкции, которые нужно выполнить, если результат выражения будет не равен ни одному значению варианта ( case ).
Инструкция break является необязательной. Она предназначена для прерывания выполнения оператора switch и передачи управлению инструкции, идущей после него.
Пример, в котором не используется инструкция break :
В некоторых случаях может требоваться именно такое поведение, но не в этом. Здесь просто допущена ошибка.
Исправленный вариант примера:
Логические операторы
В JavaScript различают следующие логические операторы:
Условное ветвление: if, ‘?’
Иногда нам нужно выполнить различные действия в зависимости от условий.
Инструкция «if»
В примере выше, условие – это простая проверка на равенство ( year == 2015 ), но оно может быть и гораздо более сложным.
Если мы хотим выполнить более одной инструкции, то нужно заключить блок кода в фигурные скобки:
Преобразование к логическому типу
Инструкция if (…) вычисляет выражение в скобках и преобразует результат к логическому типу.
Давайте вспомним правила преобразования типов из главы Преобразование типов:
Таким образом, код при таком условии никогда не выполнится:
…а при таком – выполнится всегда:
Блок «else»
Инструкция if может содержать необязательный блок «else» («иначе»). Он выполняется, когда условие ложно.
Несколько условий: «else if»
Блоков else if может быть и больше. Присутствие блока else не является обязательным.
Условный оператор „?“
Иногда нам нужно определить переменную в зависимости от условия.
Так называемый «условный» оператор «вопросительный знак» позволяет нам сделать это более коротким и простым способом.
Этот пример будет делать то же самое, что и предыдущий:
Но скобки делают код более читабельным, поэтому мы рекомендуем их использовать.
Несколько операторов „?“
Поначалу может быть сложно понять, что происходит. Но при ближайшем рассмотрении мы видим, что это обычная последовательная проверка:
Вот как это выглядит при использовании if..else :
Нетрадиционное использование „?“
Здесь мы не присваиваем результат переменной. Вместо этого мы выполняем различный код в зависимости от условия.
Не рекомендуется использовать оператор вопросительного знака таким образом.
Вот, для сравнения, тот же код, использующий if :
При чтении глаза сканируют код по вертикали. Блоки кода, занимающие несколько строк, воспринимаются гораздо легче, чем длинный горизонтальный набор инструкций.
Форум
Справочник
Выполняет тот или иной блок кода в зависимости от того, верно ли условие
Синтаксис
Аргументы
Описание, примеры
В javascript также разрешена проверка else if :
В качестве условия может быть любое выражение:
И про && и || не написали.
Аффтар жжот. на троечку!
Мне все равно что прошло уже 4 года с момента постинга этого комментария. Прочитав все это я почувствовал резкую боль ниже спины и, дабы добрые люди не путались, скажу: Начните с операторов и определения булевых значений.
А если else не нужен?
Братцы подскажите плиз не понимаю:
Как видно из описанию конструкции if, condition является условием для проверки, только в следующем примере который взят из учебника невидно никакого условия:
var newWindow
function makeNewWindow() <
newWindow = window.open(«»,»»,»height=300, width=300″);
>
function closeNewWindow () <
if (newWindow) <
newWindow.close();
newWindow = null;
>
>
Что значит if (newWindow) где здесь проверяемое условие?
Ребят, подскажите пожалуйста как сделать, что бы при определенном условии появлялось определенное (окно, блок)?
Например:
есть выбор между вариантами, если выбрать 1 вариант, то ниже появляется окно с определенным текстом, если же выбрать другой вариант, то ниже появится окно с другим содержимым.
Как это сделать, подскажите пожалуйста!!
Заранее благодарю за ответ!
Подскажите пожалуйста.
Как сделать?
если а 500 то а*1500
и результат вывести в
или второй вариант
если а =1000 то а*1500
если а>1000 то а*1000
и результат вывести в
а вот такой работает:
if (1==1) x=1
else x=2
if (1==1) x=1 else x=2
после x=1;
А я вот не пойму логику следующего кода.
К примеру я выбрал rock
и рандомом комп выбрал тоже rock
получаем выполнение первого условия
if (choice1 === choice2) <
return «The result is a tie!»;
>
но почему дальше не выполняется код?
но на практике показывает только 1й
var userChoice = prompt(«Do you choose rock, paper or scissors?»);
var computerChoice = Math.random();
if (computerChoice
var run = document.getElementById(‘txt’);
function test_run() <
if (run == ‘cmd’) <
document.getElementById(‘run’).style.display=’none’;
document.getElementById(‘cmd’).style.display=’block’;
>
else <
document.getElementById(‘run’).style.display=’none’;
>;
>;
if (run.value==’cmd’) <.
Вроде так.
var run = document.getElementById(‘txt’).value;
Товарищи, если способ сделать следующую штуку, без описания if для каждого случая, а так что бы раз написал злой код и он работал 
У меня есть 2 массива длинна их одинаковая и если в первом массиве для n-ого элемента выполняется условие то в n-ом элементе второго массива присваивалось значение?
Запилил. Оказалось всё дико просто. Вдруг кому пригодится
у Вас там if лишний, да и цикл каждый раз зря groupsvallue.length выполняет.
Так будет лучше:
ОГО! как минималистично, попробую, что из этого получится
sussh, большое спасибо! Всё работает как часы 
Я только начинаю познавать азы JavaScript, и с данной конструкцией пока не встречался. В общем читать мне ещё и читать умные книжки.
Создайте число. Определите, является ли последняя цифра числа семеркой.
ПОМОГИТЕ РЕШИТЬ С ОПЕРАТОРАМИ if and else
var Sn=new Date();
var Ss=Sn.getSeconds();
var Sms=Sn.getMilliseconds();
Ss=String(Ss);
Sms=String(Sms);
var sT=Ss+’.’+Sms;
function endTIME()
var Es=En.getSeconds();
var Ems=En.getMilliseconds();
Es=String(Es);
Ems=String(Ems);
var eT=Es+’.’+Ems;
var tT=eT-sT;
var lt=»;
var iREF=document.location.href;
lt+=’Адрес страницы: ‘+iREF;
lt+=’Время загрузки: ‘+tT+’ секунд’;
document.write(lt);>
endTIME();
Помогите разобраться в коде и присоединить оператов if.
Сгенерировано за 0,00
document.write(tmp);
секунд с
document.write(tmp2);
запросами
document.write («»+stats[a]+»»);
Из этих двух скриптов можно сделать то что я описывал.
И еще, на данной странице имеется фрейм iframe в которую и грузиться игра. Можно сделать так, что скрипт подсчитал и время загрузки фрейма.
Принятие решений в вашем коде — условные конструкции
Во многих языках программирования код должен иметь возможность принимать решения на основе введённых пользователем данных. Например, в игре, если у пользователя осталось 0 жизней, то игра завершается. В приложении о погоде утром отображается восход солнца, а вечером звезды и луна. В этой статье мы рассмотрим как в JavaScript работают так называемые «условия».
| Необходимое условие: | Базовая компьютерная грамотность, базовое понимание HTML и CSS, JavaScript first steps. |
|---|---|
| Цель: | Понять принципы использования операторов условий в JavaScript. |
Выбор одного условия.
Люди (и животные) принимают какие-либо решения всю жизнь, от малозначимых («стоит ли мне съесть одну печеньку или две?») до жизнеопределяющих («стоит ли мне остаться дома и работать на ферме отца или переехать в другую страну и изучать астрофизику?»)
Операторы условия в JavaScript позволяют нам указать разного рода действия в зависимости от выбранного пользователем или системой ответа (например одна печенька или две) и связать его с действием (результатом), например, результатом «съесть одну печеньку» будет «все ещё буду чувствовать себя голодным», а результатом «съесть две печеньки» будет «буду чувствовать себя сытым, но мама меня поругает за то, что я съел все сладости».
Базовый if. else синтаксис выглядит как pseudocode:
Стоит заметить, что else и второй блок скобок < >не обязателен — следующий код так же будет работать:
Тем не менее, следует быть осторожным — в случае, если код внутри вторых скобок < >не контролируется условием, то этот код будет выполняться всегда. Это не плохо, просто вы должны помнить об этом, чаще вы хотите запустить один кусок кода или другой, но не оба.
И, наконец, иногда вы можете встретить код if. else без фигурных скобок в сокращённой форме:
Это абсолютно рабочий код, но он менее читаем, лучше использовать фигурные скобки, новые строки и отступы.
Реальный пример
Чтобы лучше понять синтаксис, давайте рассмотрим реальный пример. Представьте, что мать или отец попросили помочь с работой по дому своего ребёнка. Родитель может сказать: «Если ты поможешь мне с покупками, то я дам тебе дополнительные деньги на карманные расходы, которые ты сможешь потратить на игрушку, какую захочешь». В JavaScript, мы можем представить это так:
Примечание: вы можете увидеть больше в полной версии этого примера на GitHub (также посмотреть как он работает вживую.)
else if
В предыдущем примере предоставлено два выбора, или результата — но что, если мы хотим больше, чем два?
Примечание об операторах сравнения
Примечание: Просмотрите материал по предыдущей ссылке, если вы хотите освежить свою память.
И, возвращаясь к нашему предыдущему примеру о ребёнке, выполняющем поручение своего родителя, вы можете это записать так:
Вполне нормально использовать один условный оператор if. else внутри другого — вложить их. Например, мы могли бы обновить наше приложение прогноза погоды, чтобы показать ещё один набор вариантов в зависимости от температуры:
Несмотря на то, что весь код работает вместе, каждый условный оператор if. else работает полностью отдельно от другого.
Логические операторы: И, ИЛИ и НЕ
Если вы хотите проверить несколько условий без записи вложенных if. else условий, логические операторы помогут вам. При использовании в условиях, первые два оператора делают следующее:
Чтобы дать вам пример оператора И, предыдущий фрагмент кода можно переписать так:
Давайте посмотрим на быстрый пример оператора ИЛИ:
Можно сочетать любое количество логических операторов, в любой последовательности и в любой комбинации. В следующем примере код в блоке будет выполняться только в том случае, если оба условия с ИЛИ возвращают true, а следовательно, и оператор И возвращает true:
Распространённой ошибкой при использовании логического оператора ИЛИ в условном выражении является указание переменной, значение которой нужно проверить со списком возможных значений этой переменной, разделённых операторами || (ИЛИ). Например.
В данном примере условие в if(. ) всегда будет оцениваться как true, поскольку 7 (или любое другое ненулевое значение) всегда будет оцениваться как true. Фактически, это условие гласит «если х равен 5, или 7 является true». Но нам требуется совсем не это. Чтобы достичь нужной цели, придётся выполнять полноценную проверку после каждого оператора ИЛИ:
Оператор switch
Выражения if. else отлично справляются с добавлением условного кода, однако они не лишены недостатков. Они хорошо подходят для ситуации, когда имеется всего пара вариантов развития событий, каждый из которых имеет блок с приемлемым количеством кода, а также в случаях, когда условие является довольно сложным и включает несколько логических операторов. Если же нам требуется всего лишь задать переменную для определённого выбранного значения или напечатать конкретную фразу при определённом условии, изученный нами синтаксис может оказаться довольно громоздким, особенно если имеется большое количество вариантов выбора.
В этом случае нам поможет оператор switch – он принимает одно единственное выражение или значение, а затем просматривает ряд вариантов, пока не найдут вариант, соответствующий этому значению, после чего выполняет код, назначенный этому варианту. Вот пример использования этого оператора:
Примечание. Вариант выбора default может быть пропущен, если выражение гарантированно совпадёт с одним из вариантов выбора. В противном случае вариант default необходим.
Пример оператора switch
Давайте рассмотрим реальный пример — перепишем наше приложение прогноза погоды с использованием оператора switch:
Условие в джава скрипт
Reg.ru: домены и хостинг
Крупнейший регистратор и хостинг-провайдер в России.
Более 2 миллионов доменных имен на обслуживании.
Продвижение, почта для домена, решения для бизнеса.
Более 700 тыс. клиентов по всему миру уже сделали свой выбор.
Бесплатный Курс «Практика HTML5 и CSS3»
Освойте бесплатно пошаговый видеокурс
по основам адаптивной верстки
на HTML5 и CSS3 с полного нуля.
Фреймворк Bootstrap: быстрая адаптивная вёрстка
Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.
Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.
Верстайте на заказ и получайте деньги.
Что нужно знать для создания PHP-сайтов?
Ответ здесь. Только самое важное и полезное для начинающего веб-разработчика.
Узнайте, как создавать качественные сайты на PHP всего за 2 часа и 27 минут!
Создайте свой сайт за 3 часа и 30 минут.
После просмотра данного видеокурса у Вас на компьютере будет готовый к использованию сайт, который Вы сделали сами.
Вам останется лишь наполнить его нужной информацией и изменить дизайн (по желанию).
Изучите основы HTML и CSS менее чем за 4 часа.
После просмотра данного видеокурса Вы перестанете с ужасом смотреть на HTML-код и будете понимать, как он работает.
Вы сможете создать свои первые HTML-страницы и придать им нужный вид с помощью CSS.
Бесплатный курс «Сайт на WordPress»
Хотите освоить CMS WordPress?
Получите уроки по дизайну и верстке сайта на WordPress.
Научитесь работать с темами и нарезать макет.
Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!
Хотите изучить JavaScript, но не знаете, как подступиться?
После прохождения видеокурса Вы освоите базовые моменты работы с JavaScript.
Развеются мифы о сложности работы с этим языком, и Вы будете готовы изучать JavaScript на более серьезном уровне.
*Наведите курсор мыши для приостановки прокрутки.
Функции и условия if-else в JavaScript
Часто при использовании JavaScript возникает необходимость выполнить разные действия при выполнении разных условий.
Общий синтаксис конструкции if-else следующий:
В качестве примера можно рассмотреть такой код:
Заметьте, что используются все строчные буквы. Если написать «IF», произойдет ошибка.
Также обратите внимание на то, что для сравнения используется двойной знак равенства (==).
Если же мы напишем browser=»MSIE», то мы просто присвоим значение MSIE переменной с именем browser.

Когда мы пишем browser==»MSIE», то JavaScript «понимает», что мы хотим произвести сравнение, а не присвоить значение.
Более сложные условия if можно создавать просто добавляя их, например, в часть else уже существующей конструкции if-else:
Логические операторы AND, OR и NOT
Для еще более гибкого использования конструкции if-else можно применять так называемые логические операторы.
And записывается как && и используется в тех случаях, когда нужно проверить на истинность более одного условия.
К примеру: Если в холодильнике есть яйца и в холодильнике есть бекон, то мы можем съесть яйца с беконом.
Or записывается как || и используется тогда, когда мы хотим проверить на истинность хотя бы одно из двух и более условий. (Получить || можно при зажатой клавише shift и клавише \)
К примеру: Если в холодильнике есть молоко, или в холодильнике есть вода, то нам есть, что попить.
Not записывается как ! и используется для отрицания.
К примеру: Если в холодильнике или нет яиц, или нет бекона, то мы не можем съесть или яйца, или бекон.
Функции в JavaScript
Вместо того, чтобы просто добавлять Javascript на страницу, чтобы браузер выполнял код, когда дойдет до него, вы можете сделать так, чтобы выполнение скрипта происходило только при происхождении какого-либо события.
Чтобы браузер не выполнял скрипт при его загрузке, нужно написать скрипт как функцию.
В этом случае JavaScript-код не будет выполнятся до тех пор, пока мы не «попросим» его об этом особым образом.
Посмотрите на данный пример скрипта, написанного как функция:
Нажмите на кнопку, чтобы увидеть, что делает данный сценарий:
Если бы строка alert(«Добро пожаловать!»); была бы написана не внутри функции, то она выполнялась бы всякий раз, когда браузер доходил бы до этой строки. Но так как мы написали ее внутри функции, эта строка не выполняется до тех пор, пока мы не нажмем кнопку.

Вызов функции (т.е. обращение к ней) происходит в данной строке:
Как вы видите, мы поместили кнопку в форму и добавили событие onClick=»myfunction()» для кнопки.
В будущих уроках мы с вами рассмотрим другие типы событий, которые производят запуск функций.
Общий синтаксис для функций следующий:
Фигурные скобки: <и > обозначают начало и окончание функции.
Типичной ошибкой при создании функций является невнимательность и игнорирование важности регистра символов. Слово function должно быть именно function. Вариант Function или FUNCTION вызовет ошибку.
Кроме того, использование заглавных букв играет роль и при задании имен переменных. Если у вас есть функция с именем myfunction(), то попытка обратиться к ней, как к Myfunction(), MYFUNCTION() или MyFunction() вызовет ошибку.
P.S. Присмотритесь к премиум-урокам по различным аспектам сайтостроения, включая JavaScript, jQuery и Ajax, а также к бесплатному курсу по созданию своей CMS-системы на PHP с нуля. Все это поможет вам быстрее и проще получить важные практические навыки:
Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!

