me@helium 8 gadi atpakaļ
vecāks
revīzija
0b7856e3b9
1 mainītis faili ar 56 papildinājumiem un 10 dzēšanām
  1. 56 10
      03LoopsAndArrays.md

+ 56 - 10
03LoopsAndArrays.md

@@ -42,16 +42,16 @@
 
 Однократное выполнение тела цикла называется **итерацией**.
 
-### Ключевые слова **break** и **continue**.
+### Ключевые слова `break` и `continue`.
 
 Эти ключевые слова применяются в теле и позволяют изменять логику работы цикла:
 
-- **break** обрывает выполнение цикла в любом месте тела  - программа продолжается после цикла;
-- **continue** обрывает выполнение текущей *итерации* и начинает следующую итерацию.
+- `break` обрывает выполнение цикла в любом месте тела  - программа продолжается после цикла;
+- `continue` обрывает выполнение текущей *итерации* и начинает следующую итерацию.
 
-### Цикл **while**
+### Цикл `while`
 
-Цикл **while** выполняется, пока условие истинно и прекращает свое выполнение как только условие становится ложно:
+Цикл `while` выполняется, пока условие истинно и прекращает свое выполнение как только условие становится ложно:
 
 ```javascript
 var password = '';
@@ -62,11 +62,11 @@ while (password != rightPassword){ //Пока пароль не равен ве
 } //возвращаемся на while (....)
 ```
 
-Цикл **while** в некотором смысле схож с **if** - тело выполняется если условие верно; однако **if** выполняет тело однократно, а **while** выполняет
+Цикл `while` в некотором смысле схож с `if` - тело выполняется если условие верно; однако `if` выполняет тело однократно, а `while` выполняет
 тело *пока* условие верно.
 
 
-#### **break**
+#### `break`
 
 ```javascript
 var password = '';
@@ -80,7 +80,7 @@ while (password != rightPassword){ //Пока пароль не равен ве
 }
 ```
 
-#### **continue**
+#### `continue`
 
 ```javascript
 var user 	  = '';
@@ -97,10 +97,10 @@ while (user != rightUser || password != rightPassword){ //Пока пользо
 }
 ```
 
-### Цикл **do ... while**
+### Цикл `do ... while`
 
 Этот цикл называется циклом с *постусловием*, то есть проверка условия выхода из цикла происходит не *перед* а *после* выполнения тела цикла. Таким образом,
-цикл с *постусловием* выполняется хотя бы один раз. Для нашего примера этот цикл подходит лучше, чем обычный **while**. Почему?
+цикл с *постусловием* выполняется **хотя бы один раз**. Для нашего примера этот цикл подходит лучше, чем обычный `while`. Почему?
 
 ```javascript
 var password = '';
@@ -110,3 +110,49 @@ do{
 	password = prompt('Введите пароль:', ''); //спрашивать пароль
 }while (password != rightPassword) //Пока пароль не равен верному...
 ```
+
+### Цикл `for`
+
+Это самый сложный и мощный цикл, в синтаксисе заголовка которого, кроме условия, присутствуют еще и другие операции:
+- инициализация, т. е. то, что делается перед началом цикла
+- условие продолжения (как в `while`)
+- операции, которые выполняются после каждой итерации
+
+В общем виде цикл `for` выглядит так:
+```javascript
+for (init1,init2,...;condition;iter1,iter2...){
+....
+}
+```
+
+Где:
+- `initN` - это те или иные инициализирующие операторы, которые выполняются *перед* началом выполнения цикла
+- `condition` - условие продолжения
+- `iterN` - операции, выполняющиеся после какждой *итерации*
+
+Примеры:
+```javascript
+for (var i=0;i<10;i++){
+	console.log(i);
+}
+```
+
+Этот цикл считает от 0 до 9, каждую итерацию выводя значения i в консоль.
+**Вопрос**: чему будет равен i после цикла?
+
+#### Задание
+Напишите аналогичный цикл `while`
+
+```javascript
+for (var i=10,str="";i>0;i--,str+="#"){
+	console.log(i, str);
+}
+```
+
+**Вопрос**: чему будет равен i и str после цикла?
+#### Задание
+Напишите аналогичный цикл `while`
+
+Таким образом становится ясно, что `for` - не более чем сокращенная форма `while`, или, другими словами, *синтаксический сахар*. 
+
+