Javascript 模块范围中声明的变量不是模块对象的属性吗?

Javascript 模块范围中声明的变量不是模块对象的属性吗?,javascript,node.js,Javascript,Node.js,在浏览器中,全局变量实际上是window对象的属性 如果我在Node.js中声明了一个带有var关键字的变量,那么它会是module对象的属性吗 var aaa = 'aaa'; console.log(module.aaa); // undefined 为什么它没有定义?Node.js中的模块对象是否与浏览器中的全局对象遵循相同的逻辑 它是模块对象的属性吗 不,这就解释了为什么它是未定义的。模块中定义的任何内容都包含在该模块中,除非通过导出或模块.导出显式公开 它是模块对象的属性吗 不,这就

在浏览器中,全局变量实际上是
window
对象的属性

如果我在Node.js中声明了一个带有
var
关键字的变量,那么它会是
module
对象的属性吗

var aaa = 'aaa';
console.log(module.aaa); // undefined
为什么它没有定义?Node.js中的模块对象是否与浏览器中的全局对象遵循相同的逻辑

它是模块对象的属性吗

不,这就解释了为什么它是未定义的。模块中定义的任何内容都包含在该模块中,除非通过
导出
模块.导出
显式公开

它是模块对象的属性吗

不,这就解释了为什么它是未定义的。模块中定义的任何内容都包含在该模块中,除非通过
导出
模块显式公开。导出

这样它就类似于“正常”局部变量了吗?像不是任何对象属性的函数中的局部变量?为了确保我理解正确,Lyso,它会像一个“正常”的局部变量吗?像不是任何对象属性的函数中的局部变量?只是为了确保我理解正确