Циклы
Содержание
Циклы используются в случае, когда необходимо использовать действие (код) необходимое количество раз.
Циклы часто используются для работы с массивами, когда необходимо обратиться к каждому или нескольким элеметам массива.
For
Синтаксис: for(инициализация;условие;шаг)
Параметры:
инициализация - выполняет только один раз, создается изменение которая необходима для условия и шага.
условие - условие которая проверяется при каждом цикле.Еслиусловиеравноtrueто выполняется код и изменение увеличивается на указанныйшаг.В случае еслиусловиеравно false цикл останавливается.
шаг - выполняется каждый раз при повторном выполнении цикла, указывается на сколько увеличивается изменение (которая указывается приинициализации) после каждого цикла.
Также цикл можно остановить с помощью оператора break
или перейти к следующему проходу цикла с помощью оператора continue
.
Если не указать параметры цикла то получим вечный цикл for (;;):
for(;;){
console.log('Ой, вечний цикл! :-(');
}
Внимание Не рекомендуется использовать вечный цикл иначе это приведет к зацикливание кода, в случае когда используете используйте оператор
break
для выхода из цикла.
Описание:
Цикл используется если необходимо выполнить определенный код нужное количество раз.
Пример:
for(i=0;i < 3; i++)
console.log(i);
for(x=1; x<10; x=x+2)
console.log(x);
for(i=0, x=1; i<3;i++, x+=2){
console.log('i: '+i+' x: '+x);
}
Пример прохождения массива :
var mas=[1, 81, 36, 7];
for(i=0;i<mas.length;i++){
console.log(mas[i]);
}
Пример использования continue в цикле for:
for(i=0;i<7;i++){
if(i==5) continue; //якщо i==5 тоді переходимо до наступного циклу
console.log(i);
}
Пример использования оператора break в цикле for:
for(i=0;i<5;i++){
if(i==3) break;
console.log(i);
}
For ... in
for ... in - цикл предназначен для прохождения по свойствам объекта.
Cинтаксис:
for(values in object)
Параметры:
values - название переменной которая принимает значения.
object - объект какие свойства необходимо пройти.
Цикл for ... in проходит только по перечисляемых свойствах, в произвольной последовательности.
Цикл можно остановить с помощью оператора break
или перейти к следующему проходу цикла с помощью оператора continue
.
Пример:
// 1
var ob={top:1};
for(a in ob) console.log(a); //переменной a присваиваются значения названий свойств
// 2
var ob={top:1};
for(a in ob){ x=ob[a];//переменной x присвавиваются значения свойств
console.log('a= '+a+' x= '+x);
}
Прохождение объекта с помощью for ... in :
var ob={top:1, left:15, right:74};
for(a in ob){ x=ob[a];
console.log('ob.'+a+' = '+x);
}
Прохождение массива с помощью for ... in :
var mas = new Array("один", 2, 3);
for(key in mas){
console.log(mas[key]);
}
For ... of
for ... of- цикл предназначен для прохождения по свойствам объекта.
Cинтаксис:for(values of object)
Параметры:
values - название переменной которая принимает значения.
object - объект какие свойства необходимо пройти.
Этот оператор не поддерживают старые браузеры.
Описание:
for ... of - проходит по свойствам, в произвольной последовательности.
for ... in проходит по названиям в свойствах, а for ... of проходит по самим свойствам.
var mas = new Array(1,2,3);
mas.top='top';
for(a in mas)
console.log(mas[a]); //1, 2, 3, 'top'
for(b of mas)
console.log(b); //1, 2, 3
пример:
var mas = new Array("ноль",1,2,3);
for(a of mas) console.log(a);
While
while - цикл который выполняется пока условие равно true.
Синтаксис: while(условие) код
параметры:
условие- условие которая проверяется.
код- код цикла который выполняется.
Описание:
Цикл while выполняется до тех пор покаусловиеравно true
.
Сначала проверяется условие и если условие равно true тогда выполняется код цикла, противоположно действует цикл do ... while.
Пример:
var i=1;
while(i<10){
console.log(i);
i++;
}
Do ... while
do ... while - цикл который выполняется пока условие равно true.
Cинтаксис: do код while(условие)
параметры:
код- код который выполняется циклически.
условие- условие которая проверяется.
описание:
Цикл do ... while который выполняется когда условие равно true.
Единственная разница циклаdo ... whileмежду while тем, что циклdo ... while сначала выполняет один круг цикла а затем проверяется условие, в то время как while сначала проверяет условие и когда условие равно true выполняет ее.
Пример:
var x=1;
do{
console.log(x);
x++;
} while (x<10);
//
var x=3;
do{
console.log(x);
x++;
} while (x<1);