Четыре оператора JavaScript предназначены для работы с объектами. Это оператор new, создающий новый объект (см. выше раздел "Стандартные объекты и функции"), операторы for. . .in и with и ключевое слово this.
Оператор for... in позволяет организовать цикл по свойствам объекта JavaScript:
for( переменная_цикла in объект) {
[операторы]
}
Этот цикл производит перебор свойств объекта. В переменной цикла на каждой итерации сохраняется значение свойства объекта. Количество итераций равно количеству свойств,существующих у заданного в заголовке цикла объекта.
В следующем примере функция properties о, в качестве параметров которой передаются объект и его
имя, используется для отображения в HTML документе всех свойств объекта Флажок, созданного на
странице тэгом
// Определение свойств объекта Флажок
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<! - - //Скрыть сценарий от браузеров, не поддерживающих JavaScript
function properties (obj , obj_name) {
var result = ""
for (var i in obj ) {
result += obj_name + "." + i + " = " + obj [i] + "<BR>"
Сама функция описывается в разделе <HEAD>, а ее вызов происходит в теле документа. Для связи элементов управления форм со сценарием применяется параметр NAME тэга <INPUT>. Его значение
равно переменной, которую используют в сценарии для ссылки на соответствующий элемент
управления. В качестве имени объекта в функцию передается значение свойства value объекта checkbox.
Предупреждение. Вызов функции осуществляется после создания в документе элемента управ-
ления checkbox. Попытка вызвать функцию properties () до создания в документе флажка приведет к ошибке интерпретатора, так как объект еще не будет существовать (см. выше раздел "Объектные
модели языков сценариев").
Оператор with задает объект по умолчанию для блока операторов, определенных в его теле. Это означает, что все встречаемые в операторах этого блока свойства и методы, являются свойствами и методами
указанного объекта. Применение данного оператора избавляет от необходимости указывать иерархию
принадлежности объекта и сокращает исходный текст программы.
Текст приведенного выше сценария с использованием оператора with упростится следующим образом:
<SCRIPT>
with( check1) {
document.write(properties(check1, value))
)
</SCRIPT>
Здесь свойство value относится к объекту checkl, который указан в заголовке оператора with.
Полезно использовать этот оператор для объекта Math. Тогда обращение к его свойствам и методам