## `with() {}`
不要使用
使用 `with` 让你的代码在语义上变得不清晰. 因为 `with` 的对象, 可能会与局部变量产生冲突, 从而改变你程序原本的用义.
下面的代码是干嘛的?
```
with (foo) {
var x = 3;
return x;
}
```
答案: 任何事. 局部变量 `x` 可能被 `foo` 的属性覆盖, 当它定义一个 setter 时, 在赋值 `3` 后会执行很多其他代码.
所以不要使用 `with` 语句.