这里的另一篇文章解释了“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”这样的脚本级变量绑定(bind)到nodejs“module”的函数范围,为什么“module.n”不存在?
谢谢。
最佳答案
如果您将代码和包装函数放在同一张图片中,您将得到它:
(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’这样的脚本级变量绑定(bind)到‘模块’”。
关于javascript - nodejs全局变量是否绑定(bind)到 "module"函数,如何赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38847386/