【问题标题】:Does nodejs global variable bind to "module" function, how to assign? [duplicate]nodejs全局变量是否绑定到“模块”函数,如何分配? [复制]
【发布时间】:2016-12-15 07:14:36
【问题描述】:

这里的另一个帖子解释了“Node wraps module's code into a function”,并给出了解释“https://nodejs.org/api/modules.html#modules_the_module_wrapper

但我还是一头雾水,我有以下sn-p:

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

使用nodejs,打印出来

k
undefined

问题:如果像'n'这样的脚本级变量绑定到nodejs“模块”的函数范围,为什么'module.n'不存在?

谢谢。

【问题讨论】:

  • 没有地方说局部范围的变量绑定到module 对象?

标签: javascript node.js function module this


【解决方案1】:

如果你把你的代码和包装函数放在同一张图中,你会得到它:

(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'这样的脚本级变量绑定到'module'”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2013-02-02
    • 2015-10-10
    • 2012-11-09
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多