Краткая сводка ссылки в ответе Мэтта состоит в том, что проблема с использованием оператора «with» состоит в том, что переменные в блоке «with» являются неоднозначными.Используя следующий пример:
with(foo.doo.diddly.doo){
bar = 1;
baz = 1;
}
Если вы не совсем уверены, что foo.doo.diddly.doo имеет свойства bar или baz, вы не знаете, есть ли bar и baz внутри оператора withисполняются, или какой-то глобальный бар и баз.Лучше использовать переменные:
var obj = foo.doo.diddly.doo;
obj.bar = 1;
obj.baz = 1;
В вашем примере, однако, Math вряд ли достаточно длинный термин, чтобы оправдать даже использование переменной, но я предполагаю, что вы имеете в виду более подробное приложение, чем выиспользовал для вопроса.