46. Циклы.

while и do-while

Две формы циклов:

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

Циклы работают, пока выражение, приведённое boolean, равно true. Обратите внимание на обязательную ; в цикле do-while.

for

for (инициализация; проверка; инкремент)
инструкция

Инициализация – вычисляется один раз перед циклом. Обычно это присваивание. Допускается инструкция var.

Проверка – это выражение вычисляется перед каждой итерацией. Тело цикла выполняется, если true.

Инкремент – это выражение вычисляется в конце цикла. Обычно это присваивание, или ++, или –.

for / in

for (переменная in объект)
инструкция

Этот цикл выполнят перебор имён (строки!) свойств объекта .

Цикл for/in перебирает только перечислимые свойства объекта (как сделать такое свойство – особый вопрос). Перебираются свойства, которые есть и в объекте, и в его прототипах. Обычно порядок перебора соответствует порядку определения свойств (свойства прототипа – в конце), но спецификация не даёт указаний на этот счёт.