文档中提到:
with 语句用于设置代码在特定对象中的作用域。
列子:
var a = 123;
var b = {a : 321};
with(b){
console.log(a); // 321
}
如果b存在则width语块中的会将指定的对象b添加到作用域链中
var a = 123;
var b = {}; 这里去掉b中的a属性
with(b){
console.log(a); // 123
}
如果并不存在,则会向上查找,直到全局对象,全局找不到则会,报错。
网友评论