JavaScript:Converte la stringa nel valore della variabile predefinita
-
20-09-2019 - |
Domanda
Ho un oggetto JavaScript simile al seguente:
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;
}
}
Ora, il problema è che mi serve il valore di filterValue
per contenere il valore della costante sull'oggetto genitore.Attualmente ho provato a utilizzare il metodo mostrato sopra e quindi a fare riferimento a filterValue quando provo ad accedere all'elemento dell'array, ma questo restituisce semplicemente unfine.
Come faccio a convertire il file filterValue
variabile nel valore della costante che rappresenta?
Soluzione
Questo non ha nulla a che fare con l'ambito variabile.
var filterValue = this['VENUE_' + field];
farebbe.
Altri suggerimenti
JavaScript non ha il concetto di "genitore".E penso che tu stia confondendo ambito e contesto.Se quel metodo fosse scritto come var filterBy() dovresti accedervi in un "ambito" diverso.Ma usando "questo" hai mantenuto lo stesso oggetto così come è stato scritto.Quindi tutto ciò che hai scritto è in "questo" contesto.
Prova questo:
var filterValue = this['VENUE_' + field];