Wie würde ich dynamische Variablennamen in NodeJS erstellen? Einige Beispiele sagen, in der window
Variable zu speichern, aber ich ging davon aus, dass das clientseitige Javascript ist. Korrigiere mich, wenn ich falsch liege.Javascript: Server-seitige dynamische Variablennamen
Antwort
Im Allgemeinen würden Sie etwas tun:
var myVariables = {};
var variableName = 'foo';
myVariables[variableName] = 42;
myVariables.foo // = 42
In node.js gibt es den global
Kontext, der dem window
Kontext in Client-Seite js entspricht. Wenn Sie eine Variable außerhalb von closure/function/modul deklarieren, wie Sie dies in JavaScript tun würden, wird sie im globalen Kontext gespeichert, dh als eine Eigenschaft von global
.
ich verstehe Ihre Frage, die Sie so etwas wie die folgenden wollen:
var something = 42;
var varname = "something";
console.log(window[varname]);
Diese in node.js werden würde:
var something = 42;
var varname = "something";
console.log(global[varname]);
Ich weiß, dass das ist, was er in der Frage andeutete, aber Dinge in den 'globalen' Namespace zu setzen, ist in' node' verpönt. Sie werden nicht viele Bibliotheken finden, die so etwas tun. – Bill
@Bill korrekt, aber ich war unter dem Eindruck, OP war verwirrt über das Fehlen des Fensters Kontext in node.js und würde gerne ein Äquivalent wissen. – Mahn
Vielleicht mit "runInThisContext" mit dem VM-Modul in Knoten wäre etwas bevorzugt? http://www.davidmclifton.com/2011/08/18/node-js-virtual-machine-vm-usage/ – jonathanKingston
Alle Variablen sind dynamisch, wollten Sie fragen, wie man Globals im Knoten erzeugt? – Mahn
Sie meinen, wie deklarieren Sie eine Variable? var x = 'val'; oder x = 'val'; Bevor Sie mit Node oder etwas anderem beginnen, müssen Sie vielleicht noch ein paar grundlegende JavaScript-Kenntnisse lernen. – Geuis