在高程三中有一个延长作用域链的例子如下:
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.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
with这东西就不要学了吧。。。。旧的里面,function和catch中var是独立作用域。