русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Несколько условий, else if


Дата добавления: 2015-07-09; просмотров: 1860; Нарушение авторских прав


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

 

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

 

var year = prompt('В каком году появилась спецификация ECMA-262 5.1?', '');
 

 

if (year < 2011) {
alert('Это слишком рано..');

 

} else if (year > 2011) {
alert('Это поздновато..');

 

} else {
alert('Да, точно в этом году!');

 

}

В примере выше JavaScript сначала проверит первое условие, если оно ложно — перейдет ко второму — и так далее, до последнего else.

Важность: 2

Напишите код, который будет спрашивать: «Каково «официальное» название JavaScript?».

Если посетитель вводит «EcmaScript», то выводить «Верно!», если что-то другое — выводить «Не знаете? «EcmaScript»!».

Блок-схема:

Результат в действии: tutorial/intro/ifelse_task2.html

Решение

Решение

Решение: tutorial/intro/ifelse_task2.html.

[Открыть задачу в новом окне]

Важность: 2

Напишите код, который получает значение prompt, а затем выводит alert:

  • 1, если значение больше нуля,
  • -1, если значение меньше нуля,
  • 0, если значение равно нулю.

Можно посмотреть в действии: tutorial/intro/if_sign.html

Решение

Решение

tutorial/intro/if_sign.html

[Открыть задачу в новом окне]

Важность: 3

Напишите код, который будет спрашивать логин (prompt).

Если посетитель вводит «Админ», то спрашивать пароль, если нажал отмена (escape) — выводить «Вход отменён», если вводит что-то другое — «Я вас не знаю».

Пароль проверять так. Если введён пароль «Чёрный Властелин», то выводить «Добро пожаловать!», иначе — «Пароль неверен», при отмене — «Вход отменён».



Блок-схема:

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

Результат в действии: tutorial/intro/ifelse_task.html

Решение

Решение

Решение: tutorial/intro/ifelse_task.html.

Обратите внимание на дополнительные вертикальные отступы внутри if. Они полезны для лучшей читаемости кода.

[Открыть задачу в новом окне]

Оператор вопросительный знак '?'

Иногда нужно в зависимости от условия присвоить переменную. Например:

 

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

 

var access;
var age = prompt('Сколько вам лет?', '');

 

 
if (age > 14) {

 

access = true;
} else {

 

access = false;
}

 

 
alert(access);

Оператор вопросительный знак '?' позволяет делать это короче и проще.

Он состоит из трех частей:

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

Проверяется условие, затем если оно верно — возвращается значение1 , если неверно — значение2, например:

access = (age > 14) ? true : false;

Оператор '?' выполняется позже большинства других, в частности — позже сравнений, поэтому скобки можно не ставить:

access = age > 14 ? true : false;

.. Но когда скобки есть — код лучше читается. Так что рекомендуется их писать.

В данном случае можно было бы обойтись и без оператора '?', т.к. сравнение само по себе уже возвращает true/false:

access = age > 14;

«Тернарный оператор»

Вопросительный знак — единственный оператор, у которого есть аж три аргумента, в то время как у обычных операторов их один-два.
Поэтому его называют «тернарный оператор».

Важность: 5

Перепишите if с использованием оператора '?':

 

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

if (a + b < 4) {
result = 'Мало';

 

} else {
result = 'Много';

 

}

Решение

Решение

result = (a + b < 4) ? 'Мало' : 'Много';

[Открыть задачу в новом окне]

Несколько операторов '?'

Несколько операторов if..else можно заменить последовательностью операторов '?'. Например:

 

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

 

var a = prompt('a?', 1);
 

 

var res = (a == 1) ? 'значение1' :
(a == 2) ? 'значение2' :

 

(a > 2) ? 'значение3' :
'значение4';

 

 
alert(res);

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

Вопросительный знак проверяет сначала a == 1, если верно — возвращает значение1, если нет — идет проверять a == 2. Если это верно — возвращает значение2, иначе проверка a > 2 и значение3.. Наконец, если ничего не верно, то значение4.

Альтернативный вариант с if..else:

 

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

var res;
 

 

if (a == 1) {
res = 'значение1';

 

} else if (a == 2) {
res = 'значение2';

 

} else if (a > 2) {
res = 'значение3';

 

} else {
res = 'значение4';

 

}

Важность: 5

Перепишите if..else с использованием нескольких операторов '?'.

Для читаемости — оформляйте код в несколько строк.

 

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

var message;
 

 

if (login == 'Вася') {
message = 'Привет';

 

} else if (login == 'Директор') {
message = 'Здравствуйте';

 

} else if (login == '') {
message = 'Нет логина';

 

} else {
message = '';

 

}

Решение

Решение

 

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

var message = (login == 'Вася') ? 'Привет' :
(login == 'Директор') ? 'Здравствуйте' :

 

(login == '') ? 'Нет логина' :
'';

[Открыть задачу в новом окне]

Нетрадиционное использование '?'

Иногда оператор вопросительный знак '?' используют как замену if:

показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки

 

var company = prompt('Какая компания создала JavaScript?', '');
 

 

(company == 'Netscape') ?
alert('Да, верно') : alert('Неправильно');

Работает это так: в зависимости от условия, будет выполнена либо первая, либо вторая часть после '?'.

Результат выполнения не присваивается в переменную, так что пропадёт (впрочем, alert ничего не возвращает).



<== предыдущая лекция | следующая лекция ==>
Сравнение с null и undefined | Рекомендуется не использовать вопросительный знак таким образом.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.633 сек.