Javascript 动态调用类函数

Javascript 动态调用类函数,javascript,function,class,object,Javascript,Function,Class,Object,如何从其字符串调用类函数 在我检查函数是否存在之后 if(typeof requestName == 'function') { } 我需要调用class函数,例如CreateJob类内Foo。我怎么能这样做 var Foo = function(credentialsObject){ this.cred = credentialsObject; }; Foo.prototype.SendRequest = function(requestName,dat

如何从其字符串调用类函数

在我检查函数是否存在之后

if(typeof requestName == 'function') {

 }
我需要调用class函数,例如
CreateJob
类内
Foo
。我怎么能这样做

var Foo = function(credentialsObject){
        this.cred = credentialsObject;
    };

    Foo.prototype.SendRequest = function(requestName,dataObj) {
        // If create requestName, job object exists and credentials have been setup, proceed with a requestName call
        if(requestName && dataObj && (this.cred.userID && this.cred.apiKey)) {
            // Check if the function exists
           if(typeof requestName == 'function') {

           }
        }
    };

    Foo.prototype.CreateJob = function(dataObj) {

    };

    Foo.prototype.CancelJob = function(dataObj) {

    };

    Foo.prototype.JobStatus = function(dataObj) {

    };
应该简单到

if(typeof this[requestName] == 'function') 
{
   this[requestName] ( dataObj );
}
应该简单到

if(typeof this[requestName] == 'function') 
{
   this[requestName] ( dataObj );
}
您可以使用来执行此操作,既可以检查函数是否存在,也可以调用函数

var Foo=函数(credentialsObject){
this.cred=credentialsObject;
};
Foo.prototype.SendRequest=函数(requestName,dataObj){
//如果CreateRequestName、作业对象存在并且已设置凭据,则继续进行requestName调用
if(requestName&&dataObj&&(this.cred.userID&&this.cred.apiKey)){
//检查该函数是否存在
if(此[requestName]=“函数”的类型){
此[requestName](数据对象)
}
}
};
Foo.prototype.CreateJob=函数(dataObj){
snippet.log('创建作业')
};
Foo.prototype.CancelJob=函数(dataObj){
};
Foo.prototype.JobStatus=函数(dataObj){
};
var foo=新foo({
用户ID:'x',
阿皮奇:“y”
});
foo.SendRequest('CreateJob',{})

您可以使用来执行此操作,既可以检查函数是否存在,也可以调用函数

var Foo=函数(credentialsObject){
this.cred=credentialsObject;
};
Foo.prototype.SendRequest=函数(requestName,dataObj){
//如果CreateRequestName、作业对象存在并且已设置凭据,则继续进行requestName调用
if(requestName&&dataObj&&(this.cred.userID&&this.cred.apiKey)){
//检查该函数是否存在
if(此[requestName]=“函数”的类型){
此[requestName](数据对象)
}
}
};
Foo.prototype.CreateJob=函数(dataObj){
snippet.log('创建作业')
};
Foo.prototype.CancelJob=函数(dataObj){
};
Foo.prototype.JobStatus=函数(dataObj){
};
var foo=新foo({
用户ID:'x',
阿皮奇:“y”
});
foo.SendRequest('CreateJob',{})


在调用类函数之前,我不需要引用这个
吗?@aashna是的,更新了帖子。抱歉,忘记添加相同的。我以为OP只是问如何通过name动态调用函数。在调用类函数之前,我不需要引用
这个
。@aashna是的,更新了帖子。抱歉,忘记添加相同的。我认为OP只是询问如何通过name动态调用函数。