javascript - Node.js 更改所需对象的值

标签 javascript node.js

--- main.js ---

var myModule = require('./module_a.js');
var value = 0;

myModule.set(35);
console.log("myModule.data:", myModule.data);
console.log("myModule.get():",myModule.get());
console.log(myModule);

--- module_a.js ---

exports.data = 10; 
exports.set = function(value) {
    data = value;
};
exports.get = function() {
    return data;
};

我预计 main.js 的结果是 2 个 console.log() 中各 35 个。但是,结果是每个 10。

我不知道为什么会发生这种情况。在 require 方法中,变量 myModule 是一个对象,它具有 data、函数 set、函数 get

因此,myModule.set(35) 应该将 myModule 对象的数据更改为 35。但是,它仍然是 10。

如果我使用this.data = value返回this.data。它按我的预期工作。但不是第一种情况(我上面的源代码)

为什么会发生这种情况?

最佳答案

您的模块中没有本地data变量。

尝试更改此行

exports.data = 10; 

var data = 10;
exports.data = data; 

关于javascript - Node.js 更改所需对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998861/

相关文章:

javascript - 将 jquery 选择器对象添加到单个 jquery 对象中

javascript - 从 JavaScript 动画对象原型(prototype)设置变量

javascript - 单击打开按钮后创建不必要的空间

javascript - 如何在构建时从生产中排除代码?

node.js - Nodemailer SSL 和 gmail 问题

javascript - 通过键比较 JS 对象(嵌套)

node.js - 请在 docker npm test 中设置 "CHROME_BIN"env 变量

node.js - npm WARN checkPermissions 缺少写入权限

node.js - 在 WordPress docker 镜像上安装 NodeJS - Node : not found

javascript - 从动态生成的嵌套数组中获取值