Verwendung dynamischer Variablennamen in JavaScript
In PHP ist es möglich, Variablennamen dynamisch zu bearbeiten. Zum Beispiel mit dem folgenden PHP-Code:
$a = 1; $b = 2; $c = 3; $name = 'a'; echo $$name; // prints 1
Gibt es eine gleichwertige Möglichkeit, diese Funktionalität in JavaScript zu erreichen?
JavaScript-Lösung
Während JavaScript dynamische Variablennamen nicht auf die gleiche Weise wie PHP unterstützt, bietet es einen Mechanismus für den dynamischen Zugriff auf Variablen mithilfe des Objekts und der Eigenschaft Punkt oder Klammer Notation.
Wie in anderen Programmiersprachen wird jede Variable in JavaScript in einem Objekt namens Variablenobjekt gespeichert, das Teil des aktuellen Bereichs ist (entweder global oder lokal).
Wenn ja die folgenden globalen Variablen:
var a = 1; var b = 2; var c = 3;
Wir können dynamisch auf sie zugreifen, indem wir die „Punkt“- oder „Klammer“-Notation für das Fensterobjekt verwenden, das das globale Objekt in ist Browser:
var name = "a"; var value = window[name]; // returns 1 // or value = window['a']; // returns 1
Es ist wichtig zu beachten, dass dieser Ansatz nur für das globale Objekt funktioniert. Innerhalb eines Funktionskontexts werden Variablen im Variablenobjekt des Aktivierungsobjekts gespeichert, auf das nicht direkt zugegriffen werden kann.
Zum Beispiel:
function foobar() { this.a = 1; this.b = 2; var name = "a"; console.log(window['a']); // undefined console.log(this['a']); // 1 } new foobar();
Das obige ist der detaillierte Inhalt vonWie kann ich dynamische Variablennamen in JavaScript verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!