Файл: Операторы циклов, их виды, особенности и области применения (Особенности среды выполнения javascript).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 57

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2.5 Оператор for…of

Оператор for...of создаёт цикл, проходящий по перечислимым объектам (включая Array, Map, Set, объект arguments и так далее), вызывая на каждой итерации функцию с выражениями, которые надо выполнить для получения значения каждого отдельного свойства.

for (переменная of обьект) {

инструкция

}

Следующий пример показывает разницу между циклами for...of и for...in. Тогда как for...in проходит по именам свойств, for...of проходит по значениям свойств:

let arr = [3, 5, 7];

arr.foo = "hello";

for (let i in arr) {

console.log(i); // выводит "0", "1", "2", "foo"

}

for (let i of arr) {

console.log(i); // выводит "3", "5", "7"

}

ГЛАВА 3. ОПЕРАТОРЫ ПЕРЕХОДА И МЕТКИ В ЦИКЛАХ JAVASCRIPT

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

3.1 Метки инструкций

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

Синтаксис метки следующий:

метка : оператор

Значение метки может быть любым корректным JavaScript индентификатором, не являющимся зарезервированным словом. Оператор, указанный вами после метки может быть любым выражением.

В этом примере, метка markLoop обозначает цикл while:

markLoop:

while (theMark == true) {

инструкция

}

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


Присвоив имя циклу, его затем можно использовать в инструкциях break и continue, внутри цикла для выхода из него или для перехода в начало цикла, к следующей итерации. Инструкции break и continue являются единственными инструкциями в языке JavaScript, в которых можно указывать метки - о них подробнее рассказывается далее. Ниже приводится пример инструкции while с меткой и инструкции continue, использующей эту метку.

mainloop: while (token != null)

{

инструкция

continue mainloop; // Переход к следующей итерации именованного цикла

}

3.2 Оператор break

Выйти из цикла можно не только при проверке условия но и, вообще, в любой момент. Эту возможность обеспечивает директива break.

Например, следующий код подсчитывает сумму вводимых чисел до тех пор, пока посетитель их вводит, а затем – выдаёт:

var sum = 0;

while (true) {

var value = +prompt("Введите число", '');

if (!value) break; // *

sum += value;

}

alert( 'Сумма: ' + sum );

Оператор break в строке  помеченной *, если посетитель ничего не ввёл, полностью прекращает выполнение цикла и передаёт управление на строку за его телом, то есть на alert.

Сочетание «бесконечный цикл + break» отлично подходит для тех ситуаций, когда условие, по которому нужно прерваться, находится не в начале-конце цикла, а посередине.

3.3 Оператор continue

Сontinue прекращает выполнение текущей итерации цикла.

Он – в некотором роде «младший брат» оператора break: прерывает не весь цикл, а только текущее выполнение его тела, как будто оно закончилось.

Её используют, если понятно, что на текущем повторе цикла делать больше нечего.

Например, цикл ниже использует continue, чтобы не выводить чётные значения

for (var i = 0; i < 10; i++) {

if (i % 2 == 0) continue;

alert(i);

}

Для чётных i срабатывает continue, выполнение тела прекращается и управление передаётся на следующую итерацию цикла for.

ЗАКЛЮЧЕНИЕ

Статичный Web-сайт вполне подходит для вывода простого содержимого, но динамичный Web-сайт может реагировать на события и позволяет организовать взаимодействие с пользователем.

Использвание конструкции цикла, дает очень мощный инструмент программирования, избавляющий от написания большого количества строк кода.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ