(если оно присутствует).
Оператор if…else
может быть вложенным. Заметим, что если в первом или втором выражении нужно расположить несколько операторов, то их следует выделить фигурными скобками:
if (х == 5) {
if (у == 6) z = 17;
} else z = 20;
В JScript также существует специальный тип условного оператора, который называется оператором '?:
'. В общем виде он записывается так:
При вычислении оператора '?:
' вначале оценивается условие, расположенное в левой части. Если оно равно true
, то выполняется первое выражение, в противном случае — второе. Например:
hours += (theHour >=12) ? ' РМ' : ' AM';
Операторы циклов
Microsoft JScript поддерживает несколько типов циклов: цикл for
, цикл for… in
, цикл while
, цикл do…while
. Рассмотрим каждый из них подробнее.
Цикл
В общем случае оператор цикла for имеет три раздела (инициализация, условие и итерация) и записывается следующим образом:
for ([
тело цикла
}
В разделе инициализации обычно выполняется присваивание начальных значений переменным цикла. Здесь можно объявлять новые переменные с помощью ключевого слова var
.
Во втором разделе задается условие выхода из цикла. Это условие оценивается каждый раз при прохождении цикла. Если в результате такой оценки получается логическое значение true
, то начинают выполняться строки из тела цикла; в противном случае происходит выход из цикла. В том случае, когда условие было ложным с самого начала (при первой проверке), цикл не будет выполнен ни разу.
Раздел итерации применяется для изменения значений переменных цикла (например, увеличения или уменьшения значения счетчика цикла).
Пример использования цикла for
приведен в листинге П1.1.
for
var howFar = 11; // Верхний предел для счетчика цикла
var sum = new Array(howFar); //Массив из 11 элементов, индексы от 0 до 10
var theSum = 0;
sum[0] = 0;
//Цикл выполнится 10 раз
for(var icount = 1; icount < howFar; icount++) {
theSum += icount;
sum [icount] = theSum;
}
var newSum = 0;
//Цикл не выполнится ни разу
for(var icount = 1; icount > howFar; icount++) {
newSum += icount;
}
var sum = 0;
//Бесконечный цикл
for(var icount = 1; icount > 0; icount++) {
sum += icount;
}
Цикл
Оператор цикла for…in
предназначен для просмотра всех свойств объекта. Для каждого свойства указанный цикл выполняет операторы, содержащиеся в теле цикла:
for (
тело цикла
}
Цикл for…in
можно использовать для вывода на экран всех свойств объекта в одном цикле:
function objectDisplay(obj) {
var displayLine;
for (var prop in obj) {
displayLine=obj.name+'.'+prop+'='+obj[prop];
WScript.Echo(displayLine)
}
WScript.Echo('--------------');
}
Цикл
Цикл while
похож на цикл for
. В нем также условие выхода из цикла проверяется перед выполнением итерации, однако в цикле while
, в отличие от for
, нет встроенного счетчика и выражения, его изменяющего.
Оператор while
записывается в следующем виде:
while (
тело цикла
}
Пример использования цикла while
приведен в листинге П1.2.
while
var theMoments = '';