Введите ваш адрес почты


sdcvoy.ru
Понравился сайт? Поделись с друзьями!
Главная » Javascript » Uslovnye-operatory-if-i

Условные операторы if и ‘?’

В JavaScript почти в любом сложном скрипте используются условные операторы if и ‘?‘. С первым я думаю, очень многие из вас знакомы из школьных уроков информатики (если они конечно у вас были). Синтаксис использования оператора if имеет следующий вид:


if (условие) {значение}

Но обычно этот оператор используется вместе с оператором else или несколькими условиями else if:

if (условие) {значение 1}
else {значение 2}

// или несколько условий

if (условие 1) {значение 1}
else if (условие 2) {значение 2}
else {значение 3}

Чтобы получше разобраться с этим оператором рассмотрим небольшой пример:

var makerHtml = prompt('Кто является основателем HTML?', '');

if (makerHtml == 'Тим Бернерс-Ли') {
alert ( 'Да вы чертовски осведомлённый человек!' );
} 
else {alert ( 'Вам стоило бы почитать про историю создания HTML' )
}

Как видите нет ничего сложного. В JavaScript можно ещё использовать другой условный оператор, который обозначается в виде вопросительного знака ?, с ним код становится короче. Давайте попробуем записать предыдущий пример, немного его изменив, с помощью этого оператора:

var makerHtml = prompt('Кто является основателем HTML?', '');

var a=(makerHtml == 'Тим Бернерс-Ли')?'Да вы чертовски осведомлённый человек!':'Вам стоило бы почитать про историю создания HTML'

alert(a);

Что мы поменяли? Да по сути ничего, добавилась лишь переменная a, которой присваивается одно из значений, в зависимости от выполненного условия. Общий синтаксис этого оператора имеет следующий вид:

(условие)?значение 1: значение 2 

В этом уроке я рассмотрел самые простые примеры, на практике же никто не мешает вставлять например в значение 1 несколько условий. Вот вам небольшой пример, когда в значении есть условие:

var userLogin=prompt('Who is you?', '');

if ( userLogin == 'admin' ) {
var userPassword=prompt('Please, enter your password');
if ( userPassword == 'DarkLord') {
alert ('Welcome to Home!');
}
else {
alert ('Fuck you!');
}
}
else {
alert("I don't know you");
} 

Для наглядности можете посмотреть результат работы данного примера: https://jsfiddle.net/nightgremlin/b5rj8eez/



наверх