Выведет `3`. **Конструкция `with` не создаёт области видимости,** её создают только функции. Поэтому объявление `var b` внутри конструкции работает также, как если бы оно было вне её. Код в задаче эквивалентен такому: ```js //+ run var a = 1; *!* var b; */!* var obj = { b: 2 } with(obj) { alert( a + b ); } ```