базовый курс

ГРУППА КУРСА

Условия в JavaScript

Условие - это один из элементов, из которых формируется алгоритм программы. В зависимости от условий программа может работать по-разному. Если условие выполняется, то работают одни строки программы, а если не выполняется, то другие.

Оператор условия

Условие в JavaScript задаётся с помощью оператора if. Оно указывается в скобках. Для указания условий используются операторы сравнения, которые мы рассматривали в прошлой теме. После условия в фигурных скобках идут строки, которые выполняются, только если условие соблюдается. Для примера создадим страницу и добавим на неё оператор условия. До и после него мы добавим строки, которые выводят текст на экран. Они будут выполняться в любом случае. А между ними будет выводиться текст, только если условие выполняется.

JavaScript:

+
1
2
3
4
5
6
7
8
<!DOCTYPE html>
<html>
<head>
<title>Страница</title>
<meta charset="utf-8">
</head>
<body>
<script>
9
10
11
12
13
14
15
document.write('Начало программы ');
var x = 8;
if (x < 10)
  {
  document.write('Строка выполнится, если x < 10 ');
  }
document.write('Продолжение ');

Запустите сраницу и Вы увидете, что на экран вывелись в одну строку надписи Начало программы и Продолжение, а между ними текст из оператора условия. Теперь сделаем так, чтобы условие не выполнялось. Для этого изменим значение переменной x:

10
var x = 30;

Теперь тест из опрератора условия не выводится, это значит, что строки внутри фигурных скобок не выполняются.

Если в фигурных скобках только одна строка, как в нашем примере, то фигурные скобки можно не ставить. Добавим на страницу ещё один оператор if, но в другом виде:

16
17
if (x < 10)
document.write('Оператор без фигурных скобок ');

Напишите условие так, чтобы оно выполнялось и проверьте, работает ли этот способ. Если Вы только начинаете изучать JavaScript, то этот способ лучше не использовать, чтобы код был более понятным. А вообще, на практике он часто применяется.

В фигурных скобках оператора условия может находиться очень много строк. Это может быть основная часть программы. При этом, если существуют переменные, которые используются не только внутри оператора, но и в дальнейшем, то объявлять эти переменные нужно до оператора.

Если условие состоит из нескольких сравнений, то для этого используются логические операторы. Пример:

20
21
22
23
24
document.write('Следующая часть программы ');
if (x<100&&x>2)
  {
  document.write('Строка выполнится, если оба сравнения верны ');
  }

Конструкция if else

Конструкция if else позволяет написать строки, которые будут работать, если условие не выполняется. После фигурных скобок оператора if пишется cлово else, за ним ставятся фигурные скобки и в них содержится код, который будет выполняеться, если условие не соблюдается:

25
26
27
28
29
30
31
32
33
document.write('Новая часть ');
if (x==7)
  {
  document.write('Выполнится, если сравнение верно ');
  }
else 
  {
  document.write('Выполнится, если сравнение не верно ');
  }

Как и в простом операторе if, в конструкции if else JavaScript позволяет не ставить фигуные скобки, если в их содержится только один оператор.

Оператор условия "?"

Сущесвует ещё один оператор условия. Он выглядит как знак вопроса. Лично я его не использую, потому что мне он кажется неудобным. Его можно применять в тех случаях, когда в зависимости от условий, какой-то переменной нужно присвоить либо одно значение, либо другое. Пример:

34
35
var ans = (x < 7) ? 'Условие выполняется' : 'Условие не выполняется';
document.write(ans);

Этот оператор работает так: проверяет условие в скобках, если оно выполняется, то оператор возвращает значение до двоеточия. А если оно не выполняется, то оператор возвращает значение после двоеточия.

В качестве возвращаемых значений могут выступать не только данные, записанные в коде скрипта, но и значения переменных и результат работы функций или операторов. В том числе, в них может быть записан и оператор условия, ктороый также вернёт одно из двух значений. Пример:

36
37
38
39
var n=5;
var pr = (n<3) ? 'n меньше 3' :
(n<100) ? 'n не меньше 3 но меньше 100' : 'n больше или равно 100';
document.write(pr);

Этот код работает следующим образом: проверяется первое условие. Если оно верно, то возвращается значение до двоеточия - строка "n меньше 3". А если условие не верно, то тогда должно быть возвращено значение после двоеточия. А там происходит вторая проверка. И в зависимости от результатов этой проверки, возвращается одно из двух значений, записанных во втором операторе условия. Попробуйте установить разные значения переменной n. Посмотрите, какие значения будет возвращать оператор условия.