摘要: 动态作用域无论是with表达式还是try-catch表达式的catch子句,以及包含()的函数,都被认为是动态作用域。一个动态作用域只因为代码运行而存在。因此无法通过静态分析(查看代码机构)来确定(是否存在作用域)。例如:function execute(code) {(code);function subroutine(){return window;}var w = subroutine();//what value is w?};execute()函数看上去像一个动态作用域,因为它使用了()。w变量的值与code有关。大多数情况下,w将等价于全局变量window对象,但是请考虑如下情况: 阅读全文
posted @ 2014-01-25 23:37 小汪哥写代码 阅读(1786) 评论(0) 推荐(5) 编辑