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

时间:2016-03-01 12:58:15

标签: javascript node.js

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

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

var aaa = 'aaa';
console.log(module.aaa); // undefined

为什么不定义? Node.js中的模块对象是否遵循与浏览器中的全局对象相同的逻辑?

1 个答案:

答案 0 :(得分:2)

  

它是模块对象的属性吗?

不,这就解释了原因undefined。模块内定义的任何内容都包含在该模块中,除非通过exportsmodule.exports明确公开。