В следующем примере вычисления выполняются с областью видимости, расширенной объектом Math.
var a, x, y;
var r = 10;
with (Math) {
a = PI * r * r;
x = r * cos(PI);
y = r * sin(PI / 2);
}
Более частый пример:
with(element.style) {
position = 'relative'
top = left = '5px'
}
При поиске переменной внутри with, интерпретатор сначала проверяет свойства object. Если свойства с таким именем нет - он идет дальше вверх по областям видимости.
Использование with с одной стороны наглядно, с другой - может скрывать ошибки программирования и соответствующий код плохо сжимается компрессорами.
По этим причинам использовать with не рекомендуется.
Вместо этого можно использовать чуть менее наглядный, но надежный доступ через временную переменную:
Пример: переменная вместо with
s = element.style
s.position = 'relative'
s.top = s.left = '5px'
Аналог using namespace своеобразный) Полезный, ибо обычные переменные захламляют рабочий namespace.
Синтаксис кодов поправьте, точек с запятой нет.
Го учить матчасть. Точка с запятой в javascript не обязательны.
но желательны. Го учить матчасть
Точка с запятой может и необязательна в javascript, но очень желательны в наглядных примерах для обучения новичков, т.к.
код; код; - будет работать, а
код код - работать не будет и новичка это может поставить в тупик, да и привыкать полезно ведь во всех остальных языках (си, паскаль, actionscript, пхп и т.п.) это правило обязательно!
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.