在浏览器中,全局变量实际上是window
对象的属性。
如果我在Node.js中声明一个带有var
关键字的变量,那么它是module
对象的属性吗?
var aaa = 'aaa';
console.log(module.aaa); // undefined
为什么不定义? Node.js中的模块对象是否遵循与浏览器中的全局对象相同的逻辑?
答案 0 :(得分:2)
它是模块对象的属性吗?
不,这就解释了原因undefined
。模块内定义的任何内容都包含在该模块中,除非通过exports
或module.exports
明确公开。