La fonction d'appel dynamiquement en Javascript

Je veux dynamiquement appeler une fonction d'une chaîne comme "Utilisateur.trouver". Un script d'appel de la fonction find() dans l'objet Utilisateur si la fonction existe. Voici ce que j'ai essayé:

 var User = {};
 User.find = function(){
     return 1;
 }

 var input = 'User.find';
 var some_data_array = {name: 'John Doe'};
 var method = input.toString().split('.');
 var nameObj = method[0].substring(0,1).toUpperCase() + method[0].substring(1);
 var methodToCall = method[1];

 nameObj.call(methodToCall, some_data_array);

Mais elle revient toujours:

 nameObj.call(methodToCall, some_data_array);
 TypeError: Object User has no method 'call'

Une idée? Je ne peux pas utiliser la fenêtre, car il est un node.js problème, le script n'est pas exécuté dans le navigateur.

nameObj est un string, pas une fonction?
quand il s'agit de dynamique, essayez d'utiliser eval.
C'est pourquoi je pose la question ici. Je ne sais pas comment appeler une fonction d'un objet dynamique.
Non; ne pas utiliser eval.
Oui je veux éviter d'utiliser eval.

OriginalL'auteur Codel | 2014-10-12