javascript - nodejs全局变量是否绑定(bind)到 "module"函数,如何赋值?

标签 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”这样的脚本级变量绑定(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/

相关文章:

node.js - 升级时如何备份我的 Node.js 设置

c++ - 为什么 C++ 对函数原型(prototype)(签名)的前向声明更加严格?

javascript - 我应该使用 delete 和 findIndex 还是 filter 从 immutable.js 列表中删除和删除项目?

通过一维的 JavaScript 二维数组迭代不起作用

node.js - 在 API 上使用哈希密码进行 Pass 简单例份验证

python - Python 如何将表达式作为函数的参数?

c - 使用 scanf 将字符串存储在结构中

javascript - 对输入更改 react 缓慢

javascript 图像旋转器问题,默认图像

javascript - 未处理的 promise 拒绝: Can't set headers after they are sent