Meine globale Variable ändert sich nicht, nachdem die Funktion in Node.js aufgerufen wird, wenn ich die Anwendung in Sublime Text 3 ausführe. Wenn ich sie in bash ausführe, ändert sie sich wie erwartet. Wenn ich "global.firstname = 'David'" durch "window.firstname = 'David'" ersetze und es in der Chrome-Konsole starte, ändert sich das wie erwartet.Warum wird meine globale Variable nicht aktualisiert, nachdem diese Funktion in Node.js aufgerufen wurde?
var firstname = 'Simon';
var addSurname = function(){
var firstname = 'Gene';
var surname = 'Holmes';
var fullname = firstname + ' ' + surname;
global.firstname = 'David';
console.log(fullname);
};
addSurname();
console.log(firstname);
// Gene Holmes
// Simon
Letztlich ich mag es Ausgabe
// Gene Holmes
// David
Warum nicht der "global.firstname = 'David'" statement meiner globale Variable mit dem Node.js in Sublime Text baut Aktualisierung 3 ?
In node.js hat das globale Objekt keinen Namen. Es ist nicht "global" und es ist kein "Fenster". Es ist buchstäblich keine Variable verfügbar, die auf das globale Objekt zeigt. Die einzige Möglichkeit, direkt auf das globale Objekt zuzugreifen, ist 'this', aber das funktioniert nicht im strikten Modus. Glücklicherweise müssen Sie nicht auf das globale Objekt zugreifen, um mit globalen Variablen zu arbeiten. – slebetman