JS中关于作用域

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

在这段话里面 关于函数对象的[[scope]]属性 的详细解释在哪里可以找到

阅读 1.6k
1 个回答

可以看《Javascript 高级程序设计》第四章第4.2节关于作用域和执行环境的概念。

如果想更加细致的了解(到词法作用域和编译原理这部分)可以看《你不知道的javascript(上卷)》第一部分作用域和闭包。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题