во время игры с собственными модулями в браузере Chrome (модуль script
с type
, установленным на module
) Я обнаружил странное поведение. Имея этот код:
var a = 1;
let b = 2;
const c = 3;
debugger;
console.log(a, b, c);
В локальной области не было переменных, но, очевидно, они есть (a
, b
и c
), поскольку они регистрируются в консоли.
Интересно, что при добавлении функции, использующей переменные верхнего уровня, они появляются на панели «Область»:
var a = 1;
let b = 2;
const c = 3;
debugger;
function f() {
console.log(a, b, c);
}
f();
Почему это так?