Javascript范围链理解

时间:2013-08-24 17:24:36

标签: javascript function closures scope

我现在正在阅读关于范围链的内容,并想解释我对这个概念的理解,以确定我是否正确理解它。

我的理解是:

  1. 初始化新功能时,会自动创建此功能的对象
  2. 此对象具有定义要在该函数中使用的变量的属性
  3. 此对象已添加到已创建的对象链
  4. 如果我有一些嵌套函数,那么每个函数都将代表作用域链中的一个分层对象。嵌套函数越深,其相对对象所在的链越往下。 (定义其变量的对象)。
  5. 因此,在实践中,如果函数一包含函数二,函数二包含函数3,函数3试图访问一个变量 - 解释器将向上移动范围链(从其自己的本地范围开始)以尝试查找这个变量会直到最上面的函数,第一次找到它时会停止吗?

    如果你能让我深入了解我是否在这里完全咆哮错误的树木,或者我是否一般都在正确的轨道上,那就太棒了。

    谢谢, 约旦

0 个答案:

没有答案