# Занятие 3. Циклы и массивы. ## Циклы. **Цикл** - последовательность операторов, которая повторяется. **Цикл** состоит из: - тела цикла, т. е. блока кода, который повторяется, - условия, которое проверяется перед очередным повтором цикла. Однократное выполнение тела цикла называется **итерацией**. ### Ключевые слова **break** и **continue**. Эти ключевые слова применяются в теле и позволяют изменять логику работы цикла: - **break** обрывает выполнение цикла в любом месте тела - программа продолжается после цикла; - **continue** обрывает выполнение текущей *итерации* и начинает следующую итерацию. ### Цикл **while** Цикл **while** выполняется, пока условие истинно и прекращает свое выполнение как только условие становится ложно: ```javascript var password = ''; var rightPassword = 'qwerty'; while (password != rightPassword){ //Пока пароль не равен верному... password = prompt('Введите пароль:', ''); //спрашивать пароль } //возвращаемся на while (....) ``` Цикл **while** в некотором смысле схож с **if** - тело выполняется если условие верно; однако **if** выполняет тело однократно, а **while** выполняет тело *пока* условие верно. #### **Break** ```javascript var password = ''; var rightPassword = 'qwerty'; while (password != rightPassword){ //Пока пароль не равен верному... password = prompt('Введите пароль:', ''); //спрашивать пароль if (password == null){ //пользователь нажал отмену... break; //прерываем цикл } } ``` #### **Continue** ```javascript var user = ''; var rightUser = 'admin'; var password = ''; var rightPassword = 'qwerty'; while (user != rightUser || password != rightPassword){ //Пока пользователь не равен верному или пароль не равен верному... user = prompt('Введите имя пользователя:', ''); //спрашивать пользователя if (user != rightUser){ //нет смысла спрашивать пароль, если пользователь неверный, поэтому... continue; //новая итерация. } password = prompt('Введите пароль:', ''); //спрашивать пароль } ```