How do I pass multiple arguments into a javascript

2019-03-12 10:15发布

Javascript code:

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') );

The problem is if I change function doSomething to

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

I have to change the corresponding line (marked as //*.*) in SomeClass to

this.callback(parameters[0],parameters[1],parameters[2]);

What can be done to avoid the (*.*) line to be changed no matter how the number of 'doSomething' function's parameters is changed?

Thanks a lot!

1条回答
疯言疯语
2楼-- · 2019-03-12 10:29

You probably want to use the apply method

this.callback.apply(this, parameters);

The first parameter to apply indicates the value of "this" within the callback and can be set to any value.

查看更多
登录 后发表回答