如何将多个参数传递到javascript回调函数中?

如何将多个参数传递到javascript回调函数中?,javascript,callback,Javascript,Callback,Javascript代码: function doSomething(v1,v2){ //blah; } function SomeClass(callbackFunction,callbackFuncParameters(*Array*))={ this.callback = callbackFunction; this.method = function(){ this.callback(parameters[0],parameters[1]) // *.*

Javascript代码:

function doSomething(v1,v2){ //blah; }

function SomeClass(callbackFunction,callbackFuncParameters(*Array*))={
   this.callback = callbackFunction;
   this.method = function(){
       this.callback(parameters[0],parameters[1])  // *.*
   }
}

var obj = new SomeClass( doSomething, Array('v1text','v2text') );
问题是如果我将函数doSomething更改为

function doSomething(v1,v2,v3){ //blah; }
我必须将
SomeClass
中的相应行(标记为
/*.
)更改为

this.callback(parameters[0],parameters[1],parameters[2]);
无论“doSomething”函数的参数数量如何更改,都可以采取哪些措施避免更改
(*.*)


非常感谢

您可能想使用


要应用的第一个参数指示回调中“this”的值,可以设置为任何值。

现在可用的另一种方法是使用

下面是OP的完整示例:

function doSomething(v1,v2) {
    console.log('doing', {v1, v2});
}

function SomeClass(callbackFunction, callbackFuncParameters) {
   this.callback = callbackFunction;
   this.method = function(){
       this.callback(...callbackFuncParameters); // spread!
   }
}

var obj = new SomeClass( doSomething, Array('v1text','v2text') );
obj.method()
// output: doing {v1: "v1text", v2: "v2text"}

我对如何使用这个功能有点困惑。我要做的是将一个函数传递给一个回调函数,如-myfunction(function(myele){//use myele})。因此,我在这里传递一个anon回调函数,并将myele参数传递给它。我将如何使用上面的代码来执行此操作?
this.callback(...callbackFuncParameters)
function doSomething(v1,v2) {
    console.log('doing', {v1, v2});
}

function SomeClass(callbackFunction, callbackFuncParameters) {
   this.callback = callbackFunction;
   this.method = function(){
       this.callback(...callbackFuncParameters); // spread!
   }
}

var obj = new SomeClass( doSomething, Array('v1text','v2text') );
obj.method()
// output: doing {v1: "v1text", v2: "v2text"}