русс | укр

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

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

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

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


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

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


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


Бывает нужно проверить несколько вариантов условия. Для этого используется блок 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

Решение

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

Важность: 2

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

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

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

Решение

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

Важность: 3

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

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

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

Блок-схема:

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

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

Решение

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

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



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

 

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 = 'Много';

 

}

Решение

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

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

Несколько операторов 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 = '';

 

}

Решение

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

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

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

 

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

 

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

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

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



<== предыдущая лекция | следующая лекция ==>
Оператор if | Если левый аргумент —false, оператор И возвращает его и заканчивает вычисления. Иначе — вычисляет и возвращает правый аргумент.


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


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

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

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


 


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

 
 

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

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