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

Sha*_*awn 17 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])  // *.*
   }
}

var obj = new SomeClass( doSomething, Array('v1text','v2text') );
Run Code Online (Sandbox Code Playgroud)

问题是如果我将函数doSomething更改为

function doSomething(v1,v2,v3){ //blah; }
Run Code Online (Sandbox Code Playgroud)

我必须将相应的行(标记为//*.*)更改SomeClass

this.callback(parameters[0],parameters[1],parameters[2]);
Run Code Online (Sandbox Code Playgroud)

(*.*)无论"doSomething"函数的参数数量如何变化,可以采取哪些措施来避免线路被更改?

非常感谢!

kro*_*old 23

您可能想要使用apply方法

this.callback.apply(this, parameters);
Run Code Online (Sandbox Code Playgroud)

要应用的第一个参数表示回调中"this"的值,可以设置为任何值.