--- 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分之35 console.log()
。但是,结果是每个10。
我不知道为什么会这样。从require
方法上看,变量myModule
是具有data
,功能set
,功能的对象get
。
因此,myModule.set(35)
应该将myModule
对象的数据更改为35。但是,它仍然是10。
如果我使用this.data = value
和return this.data
。它按我的预期工作。但是不是第一种情况(我上面的源代码)
为什么会这样?
您的中没有局部data
变量module
。
尝试更改此行
exports.data = 10;
至
var data = 10;
exports.data = data;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句