Creo que me falta algo muy simple aquí. Quiero pasarle a una función un objeto y el método para llamar. Las razones por las cuales son demasiado largas para esta publicación. :-)Cómo invoco dinámicamente el método de un objeto de JavaScript
var myObj = new someObject();
var funcName = "hide";
function callObject(myObj,funcName){
obj.hide(); //this works
obj[funcName]; //doesn't work
obj.eval(funcName); //doesn't work either.. tried many variations
}
¡Gracias!
¡Gracias! Sabía que me estaba perdiendo algo simple. Realmente pensé que probé obj [funcName]() antes, pero ahora está funcionando para mí. – David
Sin embargo, use 'eval' con cuidado :) http://stackoverflow.com/questions/86513/why-is-using-javascript-eval-function-a-bad-idea –
Ver [mi comentario] (http://stackoverflow.com/questions/5112793/how-do-i-dynamically-call-a-javascript-objects-method/5112938#5112938) sobre la seguridad de usar eval y otras opciones sin eval. Además, además de ser inseguro, eval puede ser muy ineficiente, especialmente cuando se realiza una validación de entrada adecuada, pero incluso sin validación se llama al compilador cada vez que se ejecuta. – rsp