在chrome浏览器中进行调试时无法访问顶级模块变量

时间:2018-08-31 19:56:07

标签: javascript debugging ecmascript-6 module

在Chrome浏览器中使用本机模块时(模块是scripttype设置为module的模块),我发现了一个奇怪的现象。具有以下代码:

var a = 1;
let b = 2;
const c = 3;
debugger;
console.log(a, b, c);

在本地范围内没有变量,但是很显然,在控制台中记录的变量有{abc)。

enter image description here

有趣的是,添加使用顶级变量的函数会使它们出现在“作用域”面板中:

var a = 1;
let b = 2;
const c = 3;
debugger;
function f() {
  console.log(a, b, c);
}
f();

enter image description here

为什么会这样?

0 个答案:

没有答案