使用javascript动态调用类的方法

使用javascript动态调用类的方法,javascript,jquery,oop,Javascript,Jquery,Oop,我想动态调用自定义类的方法,就像下面的javascript一样。除此之外,下面的javascript只调用代码中存在的函数。我想(动态地)调用一个类的函数。因此,我会删除窗口{value](target,event,self);,并使用其他东西调用自定义创建的类的方法,例如“mycustomclass.anythingcouldbethismethod(target,event,self);”当然,在实例化之后 var functions = [ 'ajaxif

我想动态调用自定义类的方法,就像下面的javascript一样。除此之外,下面的javascript只调用代码中存在的函数。我想(动态地)调用一个类的函数。因此,我会删除
窗口{value](target,event,self);
,并使用其他东西调用自定义创建的类的方法,例如“mycustomclass.anythingcouldbethismethod(target,event,self);”当然,在实例化之后

var functions = [
                 'ajaxify_overlay',
                 'ajaxify_overlayCancel',
                 'ajaxify_overlaySubmit',
                 'ajaxify_rollout',
                 'ajaxify_rolloutCancel',
                 'ajaxify_rolloutSubmit',
                 'ajaxify_upload',
                 'ajaxify_contentArea',
                 'ajaxify_itemToggler',
                 'ajaxify_closer',
                 'ajaxify_submit',
                 'ajaxify_inputActivate',
                 'ajaxify_executeAndRefresh',
                 'ajaxify_empty' 
               ];

$(document).bind('ready', function(event) {   

  $('body').live('click', function (event){   

   var target = $(event.target);

   var self = this;  

   $.each(functions, function(index, value){

     if($(target).hasClass(value)) {

       window[value](target, event, self);

     }

          });    

       });

});
你是说像这样

function methodCaller( methodName, target, event, self ) {
    mycustomclass[ methodName ](target, event, self);
}

methodCaller( "someMethodName" );

你在问什么?@Jakub:那么你只是实例化了一个类。你想调用该类的一个方法。该方法的名称以字符串形式存储在某个变量中。你如何调用该方法?(这大大简化了上述内容)他只是想动态调用保存在名为
functions
的数组中的方法,如果我使用var myClass=new CustomClass();其中CustomClass是我创建的一个类?太好了,谢谢。我没有意识到我可以在JS类中使用括号和点符号。@bmarti44这适用于所有JavaScript对象。例如,您可以这样做:var arr=[];var methodName='push';arr[methodName](1);无论哪种方法都可以,我选择括号是为了简洁。方法调用没有区别。在JS中不是原语的所有东西都是对象,因此您可以使用点和括号符号自由地处理其属性。
var myClass = { /* your class definition */ };
var methodName = 'myMethod';
myClass[methodName](p1,p2,...,pN);