(если оно присутствует).

Оператор if…else может быть вложенным. Заметим, что если в первом или втором выражении нужно расположить несколько операторов, то их следует выделить фигурными скобками:

if (х == 5) {

 if (у == 6) z = 17;

} else z = 20;

В JScript также существует специальный тип условного оператора, который называется оператором '?:'. В общем виде он записывается так:

условие ? выражение_1 : выражение_2

При вычислении оператора '?:' вначале оценивается условие, расположенное в левой части. Если оно равно true, то выполняется первое выражение, в противном случае — второе. Например:

hours += (theHour >=12) ? ' РМ' : ' AM'; 

Операторы циклов 

Microsoft JScript поддерживает несколько типов циклов: цикл for, цикл for… in, цикл while, цикл do…while. Рассмотрим каждый из них подробнее.

Цикл for

В общем случае оператор цикла for имеет три раздела (инициализация, условие и итерация) и записывается следующим образом:

for ([инициализация;] [условие;] [итерация]){

 тело цикла

}

В разделе инициализации обычно выполняется присваивание начальных значений переменным цикла. Здесь можно объявлять новые переменные с помощью ключевого слова var.

Во втором разделе задается условие выхода из цикла. Это условие оценивается каждый раз при прохождении цикла. Если в результате такой оценки получается логическое значение true, то начинают выполняться строки из тела цикла; в противном случае происходит выход из цикла. В том случае, когда условие было ложным с самого начала (при первой проверке), цикл не будет выполнен ни разу.

Раздел итерации применяется для изменения значений переменных цикла (например, увеличения или уменьшения значения счетчика цикла).

Пример использования цикла for приведен в листинге П1.1.

Листинг П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…in предназначен для просмотра всех свойств объекта. Для каждого свойства указанный цикл выполняет операторы, содержащиеся в теле цикла:

for (переменная in объект) {

 тело цикла

}

Цикл for…in можно использовать для вывода на экран всех свойств объекта в одном цикле:

function objectDisplay(obj) {

 var displayLine;

 for (var prop in obj) {

  displayLine=obj.name+'.'+prop+'='+obj[prop];

  WScript.Echo(displayLine)

 }

 WScript.Echo('--------------');

}

Цикл while

Цикл while похож на цикл for. В нем также условие выхода из цикла проверяется перед выполнением итерации, однако в цикле while, в отличие от for, нет встроенного счетчика и выражения, его изменяющего.

Оператор while записывается в следующем виде:

while (условие) {

 тело цикла

}

Пример использования цикла while приведен в листинге П1.2.

Листинг П1.2. Пример использования цикла while

var theMoments = '';

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату