46. Циклы.
while и do-while
Две формы циклов:
while (выражение)
инструкция
do
инструкция
while (выражение);
Циклы работают, пока выражение, приведённое boolean, равно true. Обратите внимание на обязательную ; в цикле do-while.
for
for (инициализация; проверка; инкремент)
инструкция
Инициализация – вычисляется один раз перед циклом. Обычно это присваивание. Допускается инструкция var.
Проверка – это выражение вычисляется перед каждой итерацией. Тело цикла выполняется, если true.
Инкремент – это выражение вычисляется в конце цикла. Обычно это присваивание, или ++, или –.
for / in
for (переменная in объект)
инструкция
Этот цикл выполнят перебор имён (строки!) свойств объекта .
- объект – выражение, которое преобразуется в объект.
- переменная – любое левостороннее выражение или инструкция var.
Цикл for/in перебирает только перечислимые свойства объекта (как сделать такое свойство – особый вопрос). Перебираются свойства, которые есть и в объекте, и в его прототипах. Обычно порядок перебора соответствует порядку определения свойств (свойства прототипа – в конце), но спецификация не даёт указаний на этот счёт.