JavaScript | Циклы

333 161

Веб-программирование — JavaScript — Циклы

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

В языке JavaScript имеется четыре цикла: while, do/while, for и for/in. Каждому из них посвящен один из следующих подразделов. Одно из обычных применений циклов — обход элементов массива.

Цикл while

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

while (выражение)
{
    инструкция
}

Цикл while начинает работу с вычисления выражения. Если это выражение имеет ложное значение, интерпретатор пропускает инструкцию, составляющую тело цикла, и переходит к следующей инструкции в программе. Если выражение имеет истинное значение, то выполняется инструкция, образующая тело цикла, затем управление передается в начало цикла и выражение вычисляется снова. Иными словами, интерпретатор снова и снова выполняет инструкцию тела цикла, пока значение выражения остается истинным. Обратите внимание, что имеется возможность организовать бесконечный цикл с помощью синтаксиса while(true).

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

Кроме того, если изменяемая переменная (или переменные) присутствует в выражении, значение выражения может меняться при каждом проходе цикла. Это важно, т.к. в противном случае выражение, значение которого было истинным, никогда не изменится и цикл никогда не завершится! Ниже приводится пример цикла while, который выводит числа от 0 до 9:

var count = 0; 
while (count 

Как видите, в начале переменной count присваивается значение 0, а затем ее значение увеличивается каждый раз, когда выполняется тело цикла. После того как цикл будет выполнен 10 раз, выражение вернет false (т.е. переменная count уже не меньше 10), инструкция while завершится и интерпретатор перейдет к следующей инструкции в программе. Большинство циклов имеют переменные-счетчики, аналогичные count. Чаще всего в качестве счетчиков цикла выступают переменные с именами i, j и k, хотя для того чтобы сделать программный код более понятным, следует давать счетчикам более наглядные имена.

Цикл do/while

Цикл do/while во многом похож на цикл while, за исключением того, что выр

professorweb.ru

Цикл while по перебору простых чисел javascript. Javascript циклы while, do-while и for. О функциях reduce и filter

Основная цель в JavaScript while — повторно запускать определенный фрагмент кода, снова и снова. Он очень похож на цикл for с одним важным отличием. Позвольте мне занять немного вашего времени, чтобы объяснить разницу между этими двумя типами циклов.

В чем разница между циклами while и for?

Разница между этими циклами заключается в том, как они прекращают выполнение фрагмента кода.

Цикл for выполняется установленное количество итераций. Мы точно знаем, сколько раз цикл выполнит заключенный в его теле фрагмент кода.

В while все происходит по-другому. Цикл while JavaScript выполняется, пока истинно определенное условие. После того, как условие расценивается как ложное, тогда цикл while прекращается.

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

Плюсы и минусы цикла while

Позвольте мне начать с рассмотрения единственного существенного «минуса » цикла while . Он может работать вечно!

Если окажетесь в ситуации, когда цикл while продолжит выполняться до бесконечности, то ваша программа застрянет (или зависнет ). Тогда нужно закрыть браузер, чтобы прервать выполнение кода JavaScript .

Должен отметить, что неуправляемый в JavaScript while loop обычно не работает вечно. Потому что, как программисты мы всегда обязаны удостовериться, что в какой-то момент условие нашего цикла while станет false .

Теперь относительно «плюсов » — они весьма очевидны. While будет непрерывно работать до тех пор, пока выполняется условие. В качестве примера использования цикла while можно привести запрос к пользователю ввести данные. Цикл будет предлагать ввести данные снова и снова, пока пользователь не введет корректные данные.

Синтаксис цикла while

Синтаксис циклов for и while очень похож.

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

Вот, как должен выглядеть код:

while () { // вставьте сюда код, который должен выполняться циклично }

Самая трудная часть — это определить, какое условие или условия нужно поместить в цикл, чтобы он работал должным образом.

Следует помнить, что пока условие является истинным, цикл будет продолжать работать. Давайте рассмотрим пример использования в JavaScript while .

Пример цикла while

Предположим, что мы хотим попросить пользователя ввести число от 1 до 10. Но

innovakon.ru

JavaScript Цикл for



Цикл, может выполнить блок кода несколько раз.


JavaScript циклы

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

Часто это происходит при работе с массивами:

Вместо этого кода:

text += cars[0] + «<br>»;
text += cars[1] + «<br>»;
text += cars[2] + «<br>»;
text += cars[3] + «<br>»;
text += cars[4] + «<br>»;
text += cars[5] + «<br>»;

Вы можете написать цикл:

var i;
for (i = 0; i < cars.length; i++) {
  text += cars[i] + «<br>»;

}

Редактор кода »

Различные виды циклов

JavaScript поддерживает различные виды циклов:

  • for — цикл проходит через блок кода несколько раз
  • for/in — циклы проходят через свойства объекта
  • while — циклы проходят через блок кода, когда заданное условие истинно
  • do/while — также цикл проходит через блок кода, пока заданное условие истинно

Цикл for

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

for (заявление 1; заявление 2; заявление 3) {
  // блок кода для выполнения
}

Заявление 1 выполняется (один раз) перед выполнением блока кода.

Заявление 2 определяет условие выполнения блока кода.

Заявление 3 выполняется (каждый раз) после выполнения блока кода.

Из приведенного выше примера, вы можете прочитать:

Заявление 1 задает переменную перед началом цикла var i = 0;.

Заявление 2 определяет условие для выполнения цикла i < 5; (я должен быть меньше 5).

Заявление 3 увеличивает значение при каждом выполнении блока кода в цикле i++ .


Заявление 1

Сначало вы будете использовать заявление 1 для инициализации переменной, используемой в цикле i = 0.

Это не всегда так, JavaScript не волнует. Заявление 1 является необязательным.

Вы можете инициировать много значений в заявление 1 (разделенных запятой):

И вы можете опустить заявление 1 (например, когда ваши значения установлены до начала цикла):

Пример

var i = 2;
var len = cars.length;
var text = «»;
for (; i < len; i++) {
  text += cars[i] + «<br>»;

}

Редактор кода »

Заявление 2

Часто заявление 2 используется для оценки состояния исходной переменной.

Это не всегда так, JavaScript не волнует. Заявление 2 также является необязательным.

Если заявление 2 возвращает true, цикл начнется снова, если он возвращает false, цикл закончится.

Если вы опустите заявление 2, вы должны предоставить break внутри цикла. Иначе петля никогда не закончится. Это приведет к сбою Вашего браузера. Читайте о перерывах в следующей главе этого руководства.


Заявление 3

Часто заявление 3 увеличивает значение начальной переменной.

Это не всегда так, JavaScript не волнует, и заявление 3 является необязательным.

Заявление 3 может делать что угодно, например отрицательное приращение i--, положительное приращение i = i + 15

или что-либо еще.

Заявление 3 также может быть опущен (например, при увеличении значений внутри цикла):


Цикл for/in

JavaScript заявление for/in перебирает свойства объекта:

Пример

var person = {fname:»Андрей», lname:»Щипунов», age:49};

var text = «»;
var x;
for (x in person) {
  text += person[x];
}

Редактор кода »

Цикл while

Цикл while и do/while, цикл будет объяснен в следующей главе.



schoolsw3.com