Инструкция. Эта инструкция добавляет объект в начало цепочки областей видимости, исполняет инструкцию, а затем восстанавливает цепочку в ее первоначальном состоянии.
Эта инструкция добавляет объект в начало цепочки областей видимости, исполняет инструкцию, а затем восстанавливает цепочку в ее первоначальном состоянии.
На практике инструкция with помогает значительно сократить объем набираемого текста. В клиентском языке JavaScript часто работают с глубоко вложенными иерархиями объектов. Например, для доступа к элементам HTML-формы придется пользоваться, например, такими выражениями:
frames[1].document.forms[0].address.value
Если надо обратиться к этой форме несколько раз, можно воспользоваться инструкцией with для добавления формы в цепочку областей видимости:
with(frames[1].document.forms[0]) {
// Здесь обращаемся к элементам формы непосредственно, например:
name.value = "";
address.value = "";
email.value = "";
}
Это сокращает объем текста программы – больше не надо указывать фрагмент frames[1].document.forms[0] перед каждым именем свойства. Этот объект представляет собой временную часть цепочки областей видимости и автоматически участвует в поиске, когда JavaScript требуется разрешить такой идентификатор, как address.
Несмотря на удобство этой конструкции в некоторых случаях, ее использование не приветствуется. JavaScript-код с инструкцией with сложен в оптимизации и поэтому может работать медленнее, чем эквивалентный код, написанный без нее. Кроме того, определения функций и инициализация переменных в теле инструкции with могут приводить к странным и трудным для понимания результатам. По этим причинам использовать инструкцию with не рекомендуется.
К тому же существуют и другие абсолютно законные способы уменьшения объема набираемого текста. Так, предыдущий пример можно переписать следующим образом:
var form = frames[1].document.forms[0];
form.name.value = "";
form.address.value = "";
form.email.value = "";
Дата добавления: 2015-08-01; просмотров: 505;