2013-01-16 10 views
5

Eventuali duplicati:
Dynamic object property namela funzione di chiamata programmaticamente/"dalla stringa" in CoffeeScript

Ho una funzione che ho bisogno di chiamare in base a un utente immesso i dati.

Così, per esempio, ho:

models.cat 
models.dog 

Ora, voglio essere in grado di chiamare models.[my_str] dove my_str = "snake". Quindi il computer potrebbe pensare che stia cercando di eseguire models.snake. C'è un modo per farlo in javascript o meglio ancora coffeescript?

+0

Come circa 'models.prototype [my_str]()' – patrickmcgraw

+2

'modelli [my_str]()' dovrebbe funzionare, sì? –

risposta

11

Si dovrebbe essere in grado di chiamare in questo modo:

models[my_str](); 

Questo dovrebbe funzionare sia in Javascript e CoffeeScript.

+0

perfetto. Funziona come un fascino – Alexis

+1

Si potrebbe anche fare 'models [my_str] .call()' che fa la stessa cosa, ha solo un aspetto diverso. – jeremywoertink

Problemi correlati