Инструкция
Здесь переменная должна быть либо именем переменной, либо инструкцией var, объявляющей переменную, либо элементом массива, либо свойством объекта. Параметр объект – это имя объекта или выражение, результатом которого является объект.
Элементы массива можно перебирать простым увеличением индексной переменной при каждом исполнении тела цикла while или for. Инструкция for/in предоставляет средство перебора всех свойств объекта. Тело цикла for/in исполняется единожды для каждого свойства объекта. Перед исполнением тела цикла имя одного из свойств объекта присваивается переменной в виде строки. В теле цикла эту переменную можно использовать для получения значения свойства объекта с помощью оператора []. Например, следующий цикл for/in печатает имена и значения всех свойств объекта:
for (var prop in my_object) {
document.write("имя: " + prop + "; значение: " + my_object[prop], "<br>");
}
Обратите внимание: переменной в цикле for/in может быть любое выражение, если только результатом его является нечто, подходящее для левой части присваивания. Это выражение вычисляется при каждом вызове тела цикла, т. е. каждый раз оно может быть разным. Так, скопировать имена всех свойств объекта в массив можно следующим образом:
var my_arr = {x:1, y:2, z:3};
var a = new Array();
var i = 0;
for(a[i++] in my_arr) /* пустое тело цикла */;
Массивы в JavaScript – это просто специальный тип объектов. Следовательно, цикл for/in может использоваться для перебора элементов массива так же, как свойств объекта. Например, предыдущий блок кода при замене строки на приведенную ниже перечисляет «свойства» 0, 1 и 2 массива:
Дата добавления: 2015-08-01; просмотров: 619;