"User.find"와 같은 문자열에서 함수를 동적으로 호출하려고합니다. 함수가 존재하면 스크립트는 객체 User에서 find() 함수를 호출합니다.Javascript에서 동적으로 함수 호출
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);
그러나 그것은 항상 반환 : 여기에 내가 시도 무엇
nameObj.call(methodToCall, some_data_array);
TypeError: Object User has no method 'call'
어떤 생각을? 나는 node.js 문제이기 때문에 창을 사용할 수 없다. 스크립트는 브라우저에서 실행되지 않는다. 동적으로 함수를 호출
'nameObj'는 * 문자열 *이 아니라 함수입니까? – Bergi
동적 인 경우'eval'을 사용해보십시오. –
그래서 내가 여기서 묻습니다. 동적 객체에서 함수를 호출하는 방법을 모르겠습니다. – Codel