使用稍后确定的参数调用JavaScript函数

使用稍后确定的参数调用JavaScript函数,javascript,Javascript,我想存储一个指向函数的指针,然后稍后用一些参数调用它,但在如何将参数传递给函数方面遇到了问题 例如: var MyObject = (function () { return { myMethod: function (a, b) { return a + b; } }; }()); var method = MyObject.myMethod; var args = [2, 5]; method(args); 在最后

我想存储一个指向函数的指针,然后稍后用一些参数调用它,但在如何将参数传递给函数方面遇到了问题

例如:

var MyObject = (function () {
    return {
        myMethod: function (a, b) {
            return a + b;
        }
    };
}());

var method = MyObject.myMethod;
var args = [2, 5];

method(args);
在最后一行中,我知道methodargs不能实现我想要的功能,我想本质上调用MyObject.myMethod2,5,所以我的数组尝试失败了,创建一个对象也失败了。如何将存储的参数传递给存储方法?

您可以使用接受参数数组作为参数的

var myarray = [2,5,...] //your array of arguments

method.apply(this,myarray);  //execute your method
在您拥有的方法中,您可以通过隐藏的伪数组参数接收参数

function method(){
   var args = arguments; //is [2,5,...]
}

这比其他方法有优势,因为您可以预构建参数数组,并且不必在调用的

K中枚举参数。Scott Allen有一篇关于这类事情的很好的老文章。使用call或apply作为在被调用函数中影响此值的方法


明亮的非常感谢。谢谢你的正确答案。约瑟夫刚刚把你推到了岗位上。