JS with理解和用法

with(Math) {
     alert(E); // 得到结果就是Math.E的结果
}
// 如果在外部使用
alert(E); // 不是Math中的E
// 根据 https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Statements:with 中的解释

with(arg) {
     statement
}
// arg在执行参数体的时候js通过with将arg加入大括号的作用域链中,让statement可以访问到arg,如上边的例子这样如果用户访问Math中的属性和方法的时候就可以直接写方法和属性名,就像window的全局属性和方法一样直接使用,省略前边的对象

// 一段伪代码
eg:
var obj = {E : "hello"};
with(Math) {
     alert(E);
     with(obj)  {
          alert(E);
     }
}
// 如果with嵌套使用就是按照作用域的顺序

 

你可能感兴趣的:(JavaScript)