Лекция: Операторы работы с объектами
For… in ...
Оператор for(переменная in объект) позволяет «пробежаться» по свойствам объекта. Рассмотрим пример (об объектеdocument см. ниже):
Результатом работы этого скрипта будет длинный список свойств объекта document, мы приведем лишь его начало (полностью получите его самостоятельно):
Примечание Попробуйте запустить этот скрипт в разных браузерах — и Вы увидите, что набор свойств у объекта documentразличный в различных браузерах. Аналогичная ситуация со многими объектами модели DOM, о которой пойдет речь ниже. Именно поэтому приходится постоянно заботиться о так называемой кроссбраузерной совместимости при программировании динамических HTML-документов.
With
Оператор with задает объект по умолчанию для блока операторов, определенных в его теле. Синтаксис его таков:
Все встречающиеся в теле этого оператора свойства и методы должны быть либо записанными полностью, либо они будут считаться свойствами и методами объекта, указанного в операторе with. Например, если в документе есть форма с именемanketa, а в ней есть поля ввода с именами age и speciality, то мы можем воспользоваться оператором with для сокращения записи:
Здесь age.value есть сокращенное обращение к document.anketa.age.value, length есть краткая запись свойстваdocument.anketa.length (означающего число полей в форме), submit() есть краткая запись методаdocument.anketa.submit() (отсылающего введенные в форму данные на сервер), тогда как метод window.alert() записан полностью и не относится к объекту document.anketa.
Оператором with полезно пользоваться при работе с объектом Math, используемым для доступа к математическим функциями константам. Например, внутри тела оператора with(Math) можно смело писать: sin(f)*cos(h+PI/2); без оператораwith пришлось бы указывать Math три раза: Math.sin(f)*Math.cos(h+Math.PI/2)