码迷,mamicode.com
首页 > 其他好文 > 详细

第四章 变量作用域和内存问题--笔记5(含问题)

时间:2016-02-17 19:03:17      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

作用域链得到延长的情况:

  1. try-catch语句的catch块:会创建一个新的变量对象,其中包含的是被抛出的错误对象声明。
  2. with语句:会将指定的对象添加到作用域链中。

技术分享

技术分享

 

  •  问1:为什么url变成了buildUrl的变量,它不是在with中定义的吗?
  •  答1:with语句关联了location对象,这意味着在with语句的代码块内部,每个变量首先被认为是一个局部变量,而如果在局部环境中找不到该变量的定义,就会查询location对象中是否有同名的属性,如果发现了同名属性,则以location对象属性的值作为变量的值。在该例中,url,qs和href首先都是局部变量,但是在局部环境中找不到href的定义,而在location对象中找到了href,所有href就是location.href,而其他两个变量在局部环境中均有定义,在location对象中却没有,不再多说。

第四章 变量作用域和内存问题--笔记5(含问题)

标签:

原文地址:http://www.cnblogs.com/huyang0528/p/5196056.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!