ECMA262中:任何执行上下文时刻的作用域, 都是由作用域链来实现.在一个函数被定义的时候, 会将它定义时刻的scope chain链接到这个函数对象的[[scope]]属性.在一个函数对象被调用的时候,会创建一个活动对象(也就是一个对象), 然后对于每一个函数的形参,都命名为该活动对象的命名属性, 然后将这个活动对象做为此时的作用域链(scope chain)最前端, 并将这个函数对象的[[scope]]加入到scope chain中.在这段话里面 关于函数对象的[[scope]]属性 的详细解释在哪里可以找到
1 回答

拉莫斯之舞
TA贡献1820条经验 获得超10个赞
可以看《Javascript 高级程序设计》第四章第4.2节关于作用域和执行环境的概念。
如果想更加细致的了解(到词法作用域和编译原理这部分)可以看《你不知道的javascript(上卷)》第一部分作用域和闭包。
添加回答
举报
0/150
提交
取消