Javascript 调试器中的块作用域是什么?

Javascript 调试器中的块作用域是什么?,javascript,firefox,firefox-developer-tools,Javascript,Firefox,Firefox Developer Tools,我编写了一个小代码,以了解调用堆栈和作用域是如何分步工作的: function foo(){ debugger; bar(); function bar(){ thi(); function thi(){ var y = 20; } } } foo(); 以下是Firefox调试器的屏幕: 问题是什么是称为“块”的作用域?如果我们研究它们,我们可以看到这些是“bar”和“thi”函数的作用域。但是,为什么要用“块”这个词来签名呢?您使用的是

我编写了一个小代码,以了解调用堆栈和作用域是如何分步工作的:

function foo(){
  debugger;
  bar();
  function bar(){
    thi();
    function thi(){
      var y = 20;
    }
  }
}
foo();
以下是Firefox调试器的屏幕:


问题是什么是称为“块”的作用域?如果我们研究它们,我们可以看到这些是“bar”和“thi”函数的作用域。但是,为什么要用“块”这个词来签名呢?

您使用的是什么调试器?这看起来很混乱,因为很明显,在您的代码中只有函数作用域。@从UI判断,Bergi看起来像firefox。当显示此视图时,您在哪一行中断了?似乎不是
调试器。您是手动执行步骤的吗?看起来16天前有人问了几乎相同的问题:嗯,
thi:(优化了)
可能会给出一个提示,说明为什么上部块不是函数作用域,但它仍然应该在某处显示
bar
。除非它也是内联的?