当前位置:  开发笔记 > 编程语言 > 正文

的JavaScript.如果方法命名为字符串加args,我如何调用原型方法?

如何解决《的JavaScript.如果方法命名为字符串加args,我如何调用原型方法?》经验,为你挑选了1个好方法。

我有一个带有一组原型方法的对象.如何调用给定的名称和arg列表?

所以我有和反对:

scarpa.MyThing = function() {
}

MyThing 有一个原型方法:

scarpa.MyThing.prototype.beAwesome = function(a, b, c) {
    // do awesome stuff here with a, b, and c
}

现在,我想beAwesome从另一个原型方法调用:

scarpa.MyThing.prototype.genericCaller = function(methodName, d, e, f) {

    // this does not work for me
    this.call(methodName, d, e, f)

}

以下是致电genericCaller:

this.genericCaller('beAwesome', alpha, zeta, bravo);

我坚持使用正确的语法进行调用genericCaller.

有人可以赐教吗?谢谢.



1> epascarello..:

您想使用括号表示法并应用

scarpa.MyThing.prototype.genericCaller = function(methodName) {
    var args = [].slice.call(arguments);  //converts arguments to an array
    args.shift(); //remove the method name
    this[methodName].apply(this, args);  //call your method with the current scope and pass the arguments
};

使用参数的好处是你不必一直担心d,e,f.你可以传递20件事,它仍然有效.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有