假设我设置 test2.js 如下
module.exports.doPrint = doPrint;
var dummy = "initial";
function doPrint(callback) {
setInterval(function() {
console.log(dummy);
callback();
}, 1000);
}
然后我有 test1.js
var test2 = require("./test2");
test2.doPrint(function() {
console.log("changing");
test2.dummy = "new value";
});
当我运行 test1.js 时,我得到以下信息
initial
changing
initial
changing
换句话说,test2.js 中 dummy 的值永远不会更改为新值。有人可以解释这里发生了什么吗?