除了使用函數,使用with關鍵字也可以產生環境。
with(obj)可以產生一個特殊的環境,在該環境中使用約束,如同obj訪問自身的屬性。
~~~
var obj = {
func: function () {
return this;
}
};
var foo;
with (obj) {
foo = function () {
console.dir(func());
console.dir(toString());
}
}
foo();
~~~

甚至能訪問原型鏈。