http://learn.javascript.ru/with
Первая -- чисто техническая, по семантике языка
Цитата:
|
При использовании with, как и во вложенных функциях — переменная изменяется в той области, где была найдена.
|
Это утверждение не верно. На самом деле, будет создана новая переменная, в том окружении, из которого производится присваивание.
Вторая -- в большей степени формальная
Там пишется, что, якобы, конструкция with является устаревшей. Это утверждение делается, насколько я понял, на основании того, что она не работает в режиме use strict. Однако, эти 2 понятия абсолютно ортогональны. Код, задаваемый директивой use strict, можно считать семантическим подмножеством JS, не более того. Во избежании превратных и неоднозначных толкований, достаточно упоминания, что данная конструкция не работает в данном режиме.