Firefox开发者工具调试视图中的JavaScript let块作用域

Firefox开发者工具调试视图中的JavaScript let块作用域,javascript,Javascript,我正在研究JavaScript中let块作用域的工作,特别是浏览器的调试视图如何显示信息 在for循环中使用let创建一个块作用域,回调函数timeoutHandler()可以访问该块作用域 在Chrome开发工具中,[[Scopes]]如下所示: 在Firefox开发者工具中列出了一个额外的块作用域,它的属性是timeoutHandler:timeoutHandler()。我只希望看到j:1 这个额外的块指的是什么 我只是想知道,我所期望的词法范围在Chrome调试中显示,但在Firefo

我正在研究JavaScript中
let
块作用域的工作,特别是浏览器的调试视图如何显示信息

for
循环中使用
let
创建一个块作用域,回调
函数timeoutHandler()
可以访问该块作用域

在Chrome开发工具中,[[Scopes]]如下所示:

Firefox开发者工具中列出了一个额外的块作用域,它的属性是
timeoutHandler:timeoutHandler()
。我只希望看到
j:1

这个额外的块指的是什么

我只是想知道,我所期望的词法范围在Chrome调试中显示,但在Firefox调试中却没有

timeoutHandler
的这个额外块指的是什么

这似乎表明了我们的观点。函数表达式实际上被解释为代码

'use strict';

for (var i = 1; i <= 2; i++) {
    let j = i;
    setTimeout( {
        const timeoutHandler = function() {
            console.log(j);
            debugger;
        };
        timeoutHandler
    }, 1000);
}
“严格使用”;

对于(var i=1;i),我绝对不是js方面的专家,但在我看来,这是定义
let j
的块-这将是{…}的
block@birdspider是的,但Firefox视图中有两个块。这是我要问的另一个块。我唯一想到的是JS文件/代码片段有自己的总体块(最上面的/根块?)-FF显示了它-但我没有找到任何硬事实/标准-我检查了一下,但很快就丢失了