JavaScript. Подробное руководство, 6-е издание, стр. 58
Конструкции
<b>try</b><b>finally</b><b>сatch</b><b>finally</b><b>try</b><b>break</b><b>continue</b><b>return</b><b>continue</b><b>while</b><b>for</b><b>try/finally</b><b>while</b><b>for</b><b>continue</b><b>// Имитация цикла for( инициализация ; проверка ; инкремент ) тело цикла; </b><b>инициализация ; </b><b>while( проверка ) {</b><b> try { тело цикла ; } </b><b> finally { инкремент ; }</b><b>}</b>Обратите однако внимание, что тело цикла
<b>while</b><b>break</b><b>for</b><b>finally</b><b>for</b><b>while</b>5.7. Прочие инструкции
В этом разделе описываются три остальные инструкции языка JavaScript -
<b>with</b><b>debugger</b><b>use strict</b>5.7.1. Инструкция with
В разделе 3.10.3 мы обсуждали область видимости переменных и цепочки областей видимости - список объектов, в которых выполняется поиск при разрешении имен переменных. Инструкция
<b>with</b><b>with (объект) инструкция</b>Эта инструкция добавляет объект в начало цепочки областей видимости, выполняет инструкцию, а затем восстанавливает первоначальное состояние цепочки.
Инструкция
<b>with</b><b>with</b><b>with</b>На практике инструкция
<b>with</b><b>document.forms[0].address.value</b>Если подобные выражения потребуется записать много раз, можно воспользоваться инструкцией
<b>with</b><b>with(document.forms[0]) {</b><b> // Далее следуют обращения к элементам формы непосредственно, например: </b><b> name.value = "";</b><b> address.value = "";</b><b> email.value = "";</b><b>}</b>Этот прием сокращает объем текста программы - больше не надо указывать фрагмент document.forms[0] перед каждым именем свойства. Этот объект представляет собой временную часть цепочки областей видимости и автоматически участвует в поиске, когда JavaScript требуется разрешить идентификаторы, такие как address. Избежать применения инструкции
<b>with</b><b>var f = document.fоrms[0]; </b><b>f. name, value = "";</b><b>f.address.value = "";</b><b>f.email.value =" ";</b>Имейте в виду, что цепочка областей видимости используется только для поиска идентификаторов и не используется при их создании. Взгляните на следующий пример:
with(o) х = 1;
Если объект о имеет свойство х, то данный программный код присвоит значение 1 этому свойству. Но если х не является свойством объекта о, данный программный код выполнит то же действие, что и инструкция х = 1 без инструкции with. Он присвоит значение локальной или глобальной переменной с именем х или создаст новое свойство глобального объекта. Инструкция
<b>with</b>5.7.2. Инструкция debugger
Инструкция
<b>debugger</b>