来自args的Javascript OOP调用方法,没有eval

时间:2016-02-06 19:13:45

标签: javascript oop

我试图从传递的参数调用类方法。 到目前为止,我已经设法使用eval。 我希望还有另一种方式吗?作为eval = evil :))

var myApi = (function() {

  var projects = {
    showDetails: function() {
      alert('from callMethod');
    }
  }

  return {
    init: function() {
      $(window).on("resize", function() {
        introduction.fitContent(true);
      });
    },

    callMethod: function(obj, method) {

      return eval(obj+'.'+method+'()');
      //return projects.showDetails();
    },
  };

})();

$(function(){
  myApi.init();
});

从另一个文件中我可以访问var myApi myApi.callMethod('projects', 'showDetails');

如果可能的话,我也想将args传递给方法 myApi.callMethod('projects', 'showDetails', {'page': 1, 'category', 'design'});

这对我来说似乎不是重复的帖子。 班级名称&方法是作为参数动态传递的。

例如"项目"只是其中一个类名。

0 个答案:

没有答案