Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JavaScript_основы.doc
Скачиваний:
8
Добавлен:
04.11.2018
Размер:
322.05 Кб
Скачать

3.13.3. Цикл do...While

Выполнение выражений в цикле do_while продолжается до тех пор, пока логическое выражение истинно. Но в отличие от цикла while условие проверяется не в начале цикла, а в конце. По этой причине выражения внутри цикла do...whiie один раз обязательно выполнятся. Конструкция имеет следующий формат:

<Начальное значение>;

do {

<Выражения>;

<Приращение>;

} while (<Условие>);

Последовательность работы цикла do...while:

  1. Переменной-счетчику присваивается начальное значение.

  2. Выполняются выражения внутри цикла.

  3. Переменная-счетчик изменяется на величину, указанную в <Приращении>.

  1. Проверяется условие, и если оно истинно, осуществляется переход к пункту 2, а если нет — цикл завершается.

Выведем все числа от 1 до 100, используя цикл do...while (листинг 3.22).

Листинг 3.22. Цикл do…while

var i=1;

do {

document.write(i + "<BR>");

i++;

} while (i<101);

Внимание!

Если <приращение> не указано, то цикл будет бесконечным.

В <приращении> не обязательно должна быть арифметическая операция. На­пример, при работе с базами данных в качестве <приращения> будет переме­щение к следующей строке, а условием выхода из цикла — отсутствие сле­дующей строки в базе данных. В этом случае <начальным значением> будет получение первой строки базы данных.

3.13.4. Оператор continue.

Переход на следующую итерацию цикла

Оператор continue позволяет перейти на следующую итерацию цикла еще до завершения выполнения всех выражений внутри цикла. Этот оператор можно применять в любых циклах.

Выведем все числа от 1 до 100, кроме чисел от 5 до 10 включительно (лис­тинг 3.23).

Листинг 3.23. Использование оператора continue

for (i=1; i<101; i++) {

if (i>4 && i<11) continue;

document.write(i + "<BR>");

}

3.13.5. Оператор break. Прерывание цикла

Оператор break позволяет прервать выполнение цикла досрочно. Выведем все числа от 1 до 100 еще одним способом (листинг 3.24).

Листинг 3.24. Прерывание цикла

for (i=1; true; i++) {

if (i>100) break;

document.write(i + "<BR>");

}

Здесь мы указываем условие продолжения цикла, которое, всегда истинно, так что цикл продолжался бы бесконечно, если бы мы не вышли из него, используя оператор break.

Оператор break прерывает выполнение цикла, а не программы, то есть далее будет выполнено выражение, следующее сразу за циклом.

3.14. Ошибки в программе

Существуют три типа ошибок в скриптах: синтаксические, логические и ошибки времени выполнения.

3.14.1. Синтаксические ошибки

Синтаксические — это ошибки в имени оператора или функции, oтсутствие закрывающей или открывающей скобок и т. д. То есть ошибки в синтаксисе языка. Как правило, интерпретатор предупредит о наличии ошибки. А программа не будет выполняться совсем.

Например, если вместо

document.write(i + "<BR>");

написать

doument.write(i + "<BR>");

то Web-браузер отобразит нечто подобное:

Error:

name: ReferenceError^

message: Statement on line 5: Reference to undefined variable: doument

Backtrace:

Line 5 of inlinetl script in test.html

doument.Write(i + "<BR>");

Итак, Web-браузер предупреждает нас, что в строке 5 файла test.html содержится ошибка. Достаточно отсчитать пятую строку в исходном коде и исправить опечатку с doument на document. А затем обновить страницу.

Перечислим часто встречающиеся синтаксические ошибки:

  • опечатка в имени оператора или функции;

  • буква набрана в русской раскладке клавиатуры вместо латинской;

  • неправильный регистр букв;

  • отсутствие открывающей или закрывающей скобки (или наоборот лиш­ние скобки);

  • в логическом выражении вместо оператора === (равно) указан оператор присваивания =;

  • в цикле for указаны параметры через запятую, а не через точку с запятой.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]