进来在看到在js中使用with,实话我以前从来没有碰到过。
eg:
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嵌套使用就是按照作用域的顺序
432

被折叠的 条评论
为什么被折叠?



