JS中with的用法
关键字: js with
进来在看到在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嵌套使用就是按照作用域的顺序