是否有可能window
通过自定义交换特殊的全局范围?我只是想with
这样做,但它只会堆叠另一个“查找”范围。例如。
test={};
with(test){
a=1;
}
不创建属性test.a
,但是window.a
.
那么该window
对象具有我无法用自己的代码重新创建的特定于 JS 的特殊品质吗?
是否有可能window
通过自定义交换特殊的全局范围?我只是想with
这样做,但它只会堆叠另一个“查找”范围。例如。
test={};
with(test){
a=1;
}
不创建属性test.a
,但是window.a
.
那么该window
对象具有我无法用自己的代码重新创建的特定于 JS 的特殊品质吗?
如果属性存在于给定的对象上,with
那么它将被修改,但永远不会被创建。这是使用的一个主要“陷阱”,with
也是应该避免的主要原因。
with
只有当传入的对象具有该属性时,才会对其进行修改。它不会被创建。
http://www.yuiblog.com/blog/2006/04/11/with-statement-considered-harmful/