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"函数的参数数量如何变化,可以采取哪些措施来避免线路被更改?
非常感谢!
您可能想要使用apply方法
this.callback.apply(this, parameters);
要应用的第一个参数表示回调中"this"的值,可以设置为任何值.