theretalk.ru

    Главная      
Программирование
Самоучители:

Циклы

В языке JS имеются операторы для выполнения итераций т.е. повторения ряда операторов.

Цикл For

Синтаксис:

for ([инициализация начального значения;] [условие;] [механизм обновления счетчика, шаг]) {
программный блок
}

Оператор For позволяет многократно выполнять операторы в JS-программе. Оператор For может быть использован для выполнения одного или нескольких операторов. Фигурные скобки можно опустить, если тело цикла содержит только один оператор. Все параметры оператора For являются необязательными и используются для управления процессом выполнения цикла. При применении всех параметров каждую часть нужно отделять точкой с запятой (;).
Пример вывода в окне браузера горизонтальных линий, причем каждая длиннее предыдущей:

<html>
<head>
<script language ="JavaScript">
<!--
function testloop() {
var String1 = '<hr align="center" width="' ;
document.open();
for (var size = 5; size <= 50; size+=5)
document.writeln (String1+ size+'%">');
document.close();
}
//-->
</script>
</head>
<body>
<form>
<input type="button"
value="Test the loop"
onClick="testloop()">
</form>
</body>
</html>

В приведенном примере программа выводит в документ ряд горизонтальных линеек - HTML тегов (<HR>), - размер которых увеличивается с шагом 5 (size += 5) от 5% до 100% ширины рабочей области окна браузера. Всего образуется 20 итераций. Переменная String1 хранит строку, содержащую HTML-тег. В цикле к этой строке добавляется новое значение ширины, записанное в переменной size. Когда значение этой переменной достигает 100, цикл завершается. Фигурные скобки в данном примере не нужны, поскольку тело цикла содержит только один оператор. (Здесь и далее оговоримся, что исполняемые выражения встречающиеся внутри операторов влияющих на порядок выполнения программы, например циклов: вызовы функций, методы, обработчики событий и т.п. условимся называть операторами). HTML-документ содержит кнопку, которая активизирует функцию testloop().





















Цикл while

Синтаксис:
while (условие) {
программный блок
}

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

Попробуем привести пример программы, которая использует цикл while. Например нужно вывести таблицу умножения:

<html>
<head>
<script language ="JavaScript">
function ftable(inum) {
    var iloop = 1;
    document.writeln ("ТАБЛИЦА УМНОЖЕНИЯ ДЛЯ: <b>" + inum + "</b><hr><pre>");
/* заметьте, что в параметрах функции writeln применены теги HTML - это допустимо.

Теги HTML в тексте программы на JS недопустимы.
Заголовок написан прописными буквами потому, что в тексте встречается буква "я"
Некоторые браузеры, а точнее NN выдают ошибку сценария встретив такую строчную букву.
*/
while (iloop <= 10) {
document.writeln(iloop + " x "+ inum + " = " + (iloop*inum));
iloop ++;
}
document.writeln("</pre>");
}
ftable(prompt ("Введите число: ", 10));
</script>
</head>
</html>

Таблица создается в функции ftable(). Цикл while выполняется 10 раз. Таблица выводится при помощи стандартной функции языка JS writeln(). Метод prompt() обеспечивает ввод данных с клавиатуры. В данном примере вводится число для вычисления таблицы умножения от 1 до 10.
     Данный пример можно было также написать и другим способом, используя цикл for:
for (var iloop=1; iloop <= 10; iloop ++) {
. . . . . . .
}

Выход из цикла - оператор break

Синтаксис:
break

Оператор break используется для выхода из какого-либо цикла, например из цикла for или while. Выполнение цикла прекращается в той точке, в которой размещен этот оператор, а управление передается следующему оператору, находящемуся непосредственно после цикла. Рассмотрим следующую программу:

<html>
<script language ="JavaScript">
function btest() {
var index = 1;
while (index <= 10) {
if (index = = 6)
break;
index ++;
}
//После отработки оператора break управление переходит сюда.

}
btest();
</script>
</html>

В этом примере переменной index присваивается значение 1, а цикл while должен выполняться до тех пор, пока значение переменной index меньше либо равно 10-ти (index <= 10). Однако оператор if проверяет выполнение условия index = = 6. Если это условие выполняется, то цикл while завершается с помощью оператора break. В результате цикл while будет всегда завершаться после первых шести итераций, а значение переменной index никогда не достигнет 10-ти.

Продолжение цикла - оператор continue

Синтаксис:
continue;

Оператор continue используется для прерывания выполнения блока операторов, которые составляют тело цикла и продолжения цикла в следующей итерации. В отличие от оператора break, оператор continue не останавливает выполнение цикла, а наоборот запускает новую итерацию. Если в цикле while идет просто запуск новой итерации, то в циклах for запускает с обновленным шагом.

Интернет и сети
Самоучители:
Статьи:

theretalk.ru 2007-2008 г.

Rambler's Top100


на www.altavista.ru