В Javascript я знаю, что области обрабатываются с использованием структуры данных, называемой декларативная запись среды , а в глобальной среде есть дополнительная, называемая запись среды объекта [1] [2] .
- запись среды объекта дескрипторы var и объявление функции
- декларативная запись среды дескрипторы let , const и class декларации
Но, вNode.js кажется, что это поведение не соответствует правилам выше. Как
//in node.js
var a = 1;
console.log(global.a) //prints undefined so OER didn't handle this declaration
b = 2;
console.log(global.b) //prints 2 so declarations without var makes the OER handle the variable declaration
Итак, обрабатывает ли объект DER var и функций объявлений вместо OER в Node.js? и разделяется ли он между модулями, требуя их как OER?
Пример
//module foo.js
var x = 10;
y = 20;
и в другом файле
//module bar.js
var foo = require("./foo");
console.log(x) //undefined
console.log(y) //prints 20