2012-03-24 16 views

Respuesta

143

si el nombre de la propiedad se almacena en una variable, utilice []

foo[method](); 
+0

Gracias a todos, fue tan fácil que lo pasé por alto. Ya estaba buscando algunas funciones mágicas y trucos. –

+7

¡Eres una leyenda! – Subtletree

+0

¡Corto y conciso! –

24

propiedades de los objetos se puede acceder a través de la notación de matriz:

var method = "smile"; 
foo[method](); // will execute the method "smile" 
-2

método puede llamar con eval eval("foo." + method + "()"); podría no ser una buena manera.

+0

http://stackoverflow.com/questions/197769/when-is-javascripts-eval-not-evil –

+8

tuve la sensación molesta de que había algo mal con la evaluación del mal ... – hakovala

+0

esta es otra solución más, por qué downvote. –

Cuestiones relacionadas