Последние обновления

Почему with плохо?


Описание темы отсутсвует
Тема создана:
Ответов: 1
Просмотров: 317
Последний ответ:
Destroy
Администратор
131 7 0

Оператор with в Javascript призван обеспечить более короткий, удобный код для повторяющегося доступа к свойствам объекта.Таким образом, вместо:

ooo.eee.oo.ah_ah.ting.tang.walla.walla.bing = true;
ooo.eee.oo.ah_ah.ting.tang.walla.walla.bang = true;
Вы можете написать:
with (ooo.eee.oo.ah_ah.ting.tang.walla.walla) {
    bing = true;
    bang = true;
}

Это выглядит симпатичнее.За исключением одного.Глядя на код не сразу видно, здесь измегяются свойства объекта ooo.eee.oo.ah_ah.ting.tang.walla.walla, или это измененяются глобальные переменные bing and bang.

Если Вы не можете корректно прочитать программу и сказать что она делает, это нельзя назвать хорошей программой.По этой причине with следует избегать.

К счастью, в Javascript можно выйти из такой ситуации по другому.Можно написать так, просто объявив переменную:

var o = ooo.eee.oo.ah_ah.ting.tang.walla.walla;
o.bing = true;
o.bang = true;

Теперь нет никакой двусмысленности.

Gremlin
Посетитель
92 6 0

Вот так спасибо, сейчас пойду мудрить)

Зарегистрируйтесь или авторизуйтесь что бы писать