with语句用于临时时护展作用域链,
在严格模式中.是禁止使用with语句的,并具在非严格模式里,也不推荐使用with,使用with语句的javaScript非常难优化,并且它运行得慢
with(document.forms[0]){
name.value="";
address.value="";
email.value="";
}
这种方法减少了大量的输入,不用再为每个属性名添加document.forms[0]前缀.这个对象临时挂载在作用域链上,当javaScript需要解析诸如address的标识符时,就会自动在这个对象中查找.
var f =document.forms[0];
f.name.value="";
不使用with也可以写成这样;
with(o) x = 1;
如果对象o有一个属性x,那么这行代码给这个属性赋值为1,但如果o中没有定义属性x, 它会给一个局变量,或者全局变量x赋值,