javascript中的with问题

with(location)
    {
        var url=href+"aaa";    
    }
alert(url);

为什么外部可以访问url,不是执行到with语句创建临时作用域(变量对象)然后执行完毕对象销毁,那么这个变量对象被销毁了,为什么还可以方位ul??请各位大虾能推荐一下关于这方面的文章!谢谢

桃花长相依
浏览 525回答 2
2回答

慕的地8271018

with不是function,它不会引入新的变量作用域,所以这里的url外面会访问到。 JavaScript没有块级作用域,只有函数级作用域,所以像下面这样的代码也是可以的: if (true) { var a = 5; } alert(a); // 5 跟你的代码的道理是一样的

小怪兽爱吃肉

对于JS,没有块级别的作用域,都是函数级别的作用域
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript