Прикладной код

Конструкция «for — in»

Конструкция «for — in»

Синтаксис

Цикл «for — in» использует ключевое слово «for», но в корне отличается от обычного цикла «for». Цикл «for — in» имеет следующий синтаксис:

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

Параметры

  • переменная — имя переменной. Так же может быть переменная, котороая объявлена через конструкцию «let».
  • объект — выражение, которое возвращает объект.
  • инструкция — инструкция или блок инструкций, которые образуют тело цикла.

Описание

Чтобы выполнить инструкцию «for — in», СБИС сначала вычисляет выражение объект. Если оно возвращает значение «undefined», СБИС пропускает цикл и переходит к следующей инструкции. Если выражение возвращает простое значение, оно преобразуется в эквивалентный объект-оболочку. В противном случае выражение возвращает объект. Затем СБИС выполняет по одной итерации цикла для каждого перечислимого свойства объекта. Перед каждой итерацией СБИС вычисляет значение выражения, сохраняет его в переменной и присваивает ему имя свойства (строковое значение).

Переменная в цикле «for — in» может быть любым выражением. Оно возвращающет значение, которое можно использовать слева от оператора присваивания. Это выражение вычисляется в каждой итерации цикла. Каждый раз оно может возвращать разные значения.

Пример

// Выражение берет аргументом объект. Затем проходит по всем перечислимым свойствам объекта и возвращает строку, которая содержит имена свойств и их значения.
var obj = {
 a: 1,
 b: 2,
 c: 3
};

for (var prop in obj) {
 alert("obj." + prop + " = " + obj[prop]);
}

// Выведет:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"