JavaScript: Convert String Wert der vordefinierten Variable
-
20-09-2019 - |
Frage
Ich habe ein JavaScript-Objekt, das sieht wie folgt aus:
venue = function(map, dataSet) {
// set some constants
this.VENUE_ID = 0;
this.VENUE_NAME = 1;
this.VENUE_CITY = 2;
this.filterBy = function(field, value) {
...
var filterValue = 'parent.VENUE_' + field;
}
}
Nun, das Problem ist, dass ich den Wert von filterValue
müssen den Wert der Konstante auf das übergeordnete Objekt enthalten. Zur Zeit habe ich versucht, das Verfahren gezeigt oben und dann die filter Referenzierung, wenn das Array Element zuzugreifen versuchen, aber das gibt einfach nicht definiert.
Wie konvertiere ich die filterValue
Variable in den Wert des Konstante es darstellt?
Lösung
Das hat nichts mit dem variablen Umfang zu tun.
var filterValue = this['VENUE_' + field];
tun würde.
Andere Tipps
ist Javascript kein Konzept von ‚Eltern‘. Und ich denke, Sie Umfang und Kontext sind verwirrend. Wenn das Verfahren als var filterBy geschrieben wurde () würden Sie es in einem anderen ‚Umfang‘ zugreifen müssen. Aber durch die Verwendung ‚dies‘ gehalten Sie in dem gleichen Objekt in wie es geschrieben wurde. Also alles, was Sie in 'this' Kontext geschrieben.
Versuchen Sie diese:
var filterValue = this['VENUE_' + field];