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.callback.apply(this, parameters);
適用する最初のパラメーターは、コールバック内の「this」の値を示し、任意の値に設定できます。