在高程三中有一个延长作用域链的例子如下:
function buildUrl() {
var qs = "?debug=true";
with(location){
var url = href + qs;
}
return url;
}
console.info(buildUrl())
我的理解是在作用域链顶端新增了一个location
对象环境:
问题是为什么第二层环境可以访问url
这个变量?不是说不能逆作用域链访问吗?
在高程三中有一个延长作用域链的例子如下:
function buildUrl() {
var qs = "?debug=true";
with(location){
var url = href + qs;
}
return url;
}
console.info(buildUrl())
我的理解是在作用域链顶端新增了一个location
对象环境:
问题是为什么第二层环境可以访问url
这个变量?不是说不能逆作用域链访问吗?
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
2 回答4.2k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
with这东西就不要学了吧。。。。旧的里面,function和catch中var是独立作用域。