nodejs全局变量是否绑定到" module"功能,如何分配?

时间:2016-08-09 09:47:52

标签: javascript node.js function module this

此处的另一篇文章解释说," Node将模块的代码包装成一个函数"并给出了解释" https://nodejs.org/api/modules.html#modules_the_module_wrapper"

但我仍然感到困惑,我有以下片段:

var n = 'my'
module.a='k'
console.log(module.a);
console.log(module.n);

使用nodejs打印出

k
undefined

问题:如果脚本级变量如' n'绑定到nodejs" module"的功能范围,为什么' module.n'不存在吗?

感谢。

1 个答案:

答案 0 :(得分:2)

如果您将代码和包装函数放在同一张图片中,那么您将获得它:

(function (exports, require, module, __filename, __dirname) {
    var n = 'my'
    module.a='k'
    console.log(module.a); // k
    console.log(module.n); // undefined
});

您发现module.n未定义,因为没有为其设置值的代码行。

没有任何魔法可以导致脚本级变量,例如' n'绑定到'模块'"。