KnigaRead.com/

Андрей Попов - Windows Script Host для Windows 2000/XP

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Андрей Попов, "Windows Script Host для Windows 2000/XP" бесплатно, без регистрации.
Перейти на страницу:

Также в условных операторах применяются логические операторы (табл. П1.8). 


Таблица П1.8. Логические операторы

Оператор Описание || Оператор отношения "РР›Р". Возвращает true, если РѕРґРёРЅ РёР· операндов равен true. Р’ противном случае возвращает false && Оператор отношения "Р". Возвращает true, если РѕР±Р° операнда равны true. Р’ противном случае возвращает false

Условные операторы 

В JScript поддерживается условный оператор if…else. Общий вид этого оператора показан ниже:

if (условие) выражение_1

[else выражение_2]

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

Оператор 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 = "";

var theCount = 42; // Начальное значение счетчика цикла

while (theCount >= 1) {

В if (theCount > 1) {

  theMoments = "До взрыва осталось " + theCount + " сек!";

В } else {

  theMoments = "Осталась секунда!";

В }

 theCount--; // Уменьшаем значение счетчика

}

theMoments = "ВЗРЫВ!";

Цикл do…while

Этот цикл является примером цикла с пост-условием и записывается в следующем виде:

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*