|
ссмотрим, например, применение оператора += для увеличения содержимого
числовой переменной.
Вначале решим эту задачу без использования данного оператора. Ниже мы
объявили переменную с именем nCounter и присвоили ей начальное значение 1, а
затем увеличили это значение на 5:
var nCounter = 1;
nCounter = nCounter + 5;
Теперь сделаем то же самое, но по-другому:
var nCounter = 1;
nCounter += 5;
Как видите, второй способ короче первого.
Для того чтобы сдвинуть содержимое переменной на три разряда вправо, вы
можете воспользоваться оператором >>=, как это сделано в следующем фрагменте
исходного текста:
nCounter >>= 3;
Результат при этом будет такой же, как и при выполнении следующей строки:
nCounter = nCounter >> 3;
Условные операторы
Любой язык программирования был бы бесполезен, если бы в нем не были
предусмотрены те или иные средства ветвления при выполнении программы. В языке
JavaScript предусмотрен условный оператор else-if, который позволяет выполнять
разные программные строки в зависимости от условия.
Общий вид оператора else-if представлен ниже:
if(условие)
строка 1
[else
строка 2]
Часть оператора, выделенная квадратными скобками, является необязательной.
При выполнении этого оператора оценивается условие, заданное в круглых скобках
после ключевого слова if. Если в результате оценки условия получилось
логическое значение true, выполняется строка 1. Если же получилось значение
false, то выполняется строка 2 (в том случае, когда она присутствует.
Оператор if-else может быть вложенным. Учтите, что если в строке 1 или
строке 2 необходимо расположить несколько операторов, их следует выделить
фигурными скобками:
if(nYourAge < 18)
{
bAccessDenied = true;
szNextPage = “bye18.html”;
}
else if(nYourAge > 99)
{
bAccessDenied = true;
szNextPage = “bye99.html”;
}
else
{
bAccessDenied = false;
szNextPage = “welcome.html”;
}
Здесь вначале оценивается условие (nYourAge < 18). Если содержимое
переменной nYourAge меньше 18, переменной bAccessDenied присваивается значение
true, а переменной szNextPage - текстовая строка “bye18.html”.
Затем содержимое nYourAge сравнивается с числом 99. Если переменная nYourAge
имеет значение, большее чем 99, в переменную bAccessDenied записывается
значение true, а переменную szNextPage - текстовая строка “bye99.html”.
И, наконец, если ни одно из двух условий не было выполнено, то есть значение
переменной nYourAge находится в интервале от 18 до 99, в переменную
bAccessDenied записывается значение false, а переменную szNextPage - текстовая
строка “welcome.html”.
Существует также специальный тип условного оператора, который называется
оператором ?:. Этот оператор в общем виде записывается так:
выражение ? строка 1 : строка 2
При вычислении оператора ?: вначале оценивается логическое выражение,
расположенное в левой части. Если оно равно true, выполняется строка 1, а если
false - строка 2.
Ниже мы привели пример использования условного оператора ?: для присвоения
значения переменной bAccessDenied в зависимости от содержимого переменной
nYourAge:
bAccessDenied =
(nYourAge < 18 || nYourAge > 99) ? true : false;
Если значение переменной nYourAge находится в интервале от 18 до 99,
переменной bAccessDenied присваивается значение true, а если оно не попадает в
этот интервал - false. Традиционное решение этой задачи с помощью оператора
else-if заняло бы больше места:
if(nYourAge < 18 || nYourAge > 99)
bAccessDenied = true;
else
bAccessDenied = false;
В приведенных выше примерах мы указывали составное условие:
(nYourAge < 18 || nYourAge > 99)
В соответствии таблицей старшинства операторов, которую вы найдете ниже в
этой главе, оператор || вычисляется после операторов < и >. Если вам не хочется
разбираться с таблицей старшинства, для указания порядка вычисления используйте
скобки:
((nYourAge < 1
|
|