JavaScript 延长作用域链?

在高程三中有一个延长作用域链的例子如下


function buildUrl() {
    var qs = "?debug=true";

    with(location){
        var url = href + qs;
    }

    return url;
}

console.info(buildUrl())

我的理解是在作用域链顶端新增了一个location对象环境:
image.png

问题是为什么第二层环境可以访问url这个变量?不是说不能逆作用域链访问吗?

阅读 711
评论
    2 个回答
    • 16.7k

    with这东西就不要学了吧。。。。旧的里面,function和catch中var是独立作用域。

    image.png

    image.png

      • 9.4k

      var 是函数级的

        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章