Условные операторы if else. Часть 2

Четверг, 4 августа 2011 г.
Рубрика: JavaScript -> Условия
Метки: | | | |
Просмотров: 476
Подписаться на комментарии по RSS

В прошлом уроке мы рассмотрели конструкцию if else.

А теперь представьте что Вам нужно проверить два условия - если сегодня хорошая погода и у нас есть машина, то едем на пляж.

Нам придётся писать так:

if ( pogoda == 'good' ) {
	if ( car == 'yes' ) {
		на пляж
	}
}

Такая конструкция слишком громоская. Давайте попробуем её упростить:

if ( pogoda == 'good' && car == 'yes' ) {
	на пляж
}

Как видите мы объединили два условия в одном при помощи оператора && - и.

То есть мы написали если хорошая погода и есть машина, то ...

При помощи такого оператора можно группировать множество условий, которые ведут к одному результату - в нашем случае на пляж.

Давайте сделаем побольше таких "и" в нашем условии.

Допустим мы хотим проверить заказ - сайт с использованием javascript, php, mysql, ajax.

Давайте создадим такое условие:

if ( php == 'yes' && javascript == 'yes' && mysql == 'yes' && ajax == 'yes' ) {
	document.write ( "Создаём мощный сайт" );
}

А если нам нужно будет проверить условия, но чтобы хотя бы одно из них было правдой?

Например - мы хотим узнать - нужно ли на сайте использовать какие-то технологии. То есть хотим узнать не простой ли сайт создавать.

Мы бы написали так:

if ( php == 'yes' ) {
	не простой сайт
} else {
	if ( javascript == 'yes' ) {
		не простой сайт
	} else {
		if ( ajax == 'yes' ) {
			не простой сайт
		} else {
			простой сайт
		}
	}
}

Как видите все условия приведут к одному результату - не простой сайт - то есть их можно объединить в единое условие.

Давайте сократим этот код:

if ( php == 'yes' || ajax == 'yes' || javascript == 'yes' ) {
	не простой сайт
} else {
	простой сайт
}

Мы значительно упростили код.

Как видите мы добавили оператор || - "или".

То есть мы написали - если используем php или ajax или javascript, то ...

Мы можем объединять условия, если результат будет один и тот же.

В нашем случае мы проверяли - если хотя бы одна из приведённых технологий в создании сайта будет использоваться, то - это не простой сайт.

Здесь не надо было использовать условный оператор && ( и ), так как мы проверяли будет ли использоваться хотя бы одна из этих технологий.

Как в этом случае идёт проверка - если условие ложное, то переходим к следующему после ||, если условие истинное, то прекращаем проверять и выводим результат.

А в случае с условным оператором && ( и ) - javascript проверял - если условие истинно, то идём к следующему после && ( и ), если ложное, то прекращаем проверять и выводим результат в else.

Теперь давайте рассмотрим несколько вариантов сравнений:

1) Больше - в javascript записывается так - >

2) Меньше - в javascript записывается так - <

3) Больше или равно - в javascript записывается так - >=

4) Меньше или равно - в javascript записывается так - <=

5) Не равно - в javascript записывается так - !==

Давайте теперь закрепим полученные знания на практике.

Задание:

У нас есть массив с названиями языков веб-программирования, а именно - php, javascript, ajax.

У нас есть ещё один массив с временем выполнения работы, в нём хранится время для каждого из языков в первом массиве, то есть строго по порядку - для php, javascript и ajax. Время будет в днях.

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

И переменная с временем на выполнение заказа.

Нам нужно проверить есть ли такой язык в нашем массиве, если есть то заносим его номер в массиве в переменную.

Дальше проверяем сможем ли мы выполнить заказ за отведённый срок, если да, то выводим сообщение заказ принят.

Иначе выводим сообщение - мы не успеем выполнить заказ.

Если нет языка в базе, то выводим - мы не умеем программировать на таком языке.

Вот решение, но сперва попробуйте решить эту задачу сами:

<html>
<head>
<title>JavaScript</title>
</head>
<body>
<script type = "text/javascript">
var ProgLang = ["php", "javascript", "ajax"];
var WorkTime = [20, 18, 26];
var OrderLang = "php", OrderTime = 19, NumLang;
if ( OrderLang == ProgLang[0] ) {
	NumLang = 0;
} else {
	if ( OrderLang == ProgLang[1] ) {
		NumLang = 1;
	} else {
		if ( OrderLang == ProgLang[2] ) {
			NumLang = 2;
		} else {
			document.write ( "Мы не умеем программировать на таком языке" );
		}
	}
}
if ( NumLang == 0 || NumLang == 1 || NumLang == 2 ) {
	if ( OrderTime <= WorkTime[NumLang] ) {
		document.write ( "Заказ принят" );
	} else {
		document.write ( "Мы не успеем выполнить заказ" );
	}
}
</script>
</body>
</html>
Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Оставьте свой комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

(обязательно)