Ich habe die folgende Funktion in meiner counter.js Datei:die Nummer Inkrementieren funktioniert nicht in NodeJS
//counter.js
var counter = 1;
function increment() {
counter++;
}
function decrement() {
counter--;
}
function getCounter() {
return counter;
}
module.exports = {
counter: counter,
increment: increment,
decrement: decrement,
getCounter: getCounter
};
In meinem main.js ich den folgenden Code haben:
//main.js
var counter = require('./counter');
counter.increment();
console.log(counter.counter); // 1
console.log(counter.getCounter()); // 2
I zu verstehen, ist nicht in der Lage, warum hat die
counter.counter
gibt 1 als Ausgang, während der
counter.getCounter()
2 als das Ausgangssignal ergibt.
Was ist die mögliche Erklärung für dieses Verhalten?
Einverstanden natürlich.Beachten Sie, dass ein möglicher Punkt der Verwirrung des OP wohl annehmen kann, dass das "Modul" im Kontext eines "Objekts" steht: [Ist JavaScript eine Pass-by-Reference oder Pass-by-Value-Sprache?] (Https://stackoverflow.com/a/3638034/2313887). Was natürlich ein "Modul" nicht ist. –