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; }
我必须更改相应的行(标记为//*.*
) in SomeClass
to
this.callback(parameters[0],parameters[1],parameters[2]);
可以采取什么措施来避免(*.*)
无论“doSomething”函数的参数数量如何更改,行都要更改吗?
多谢!
您可能想使用应用方法 http://www.webreference.com/js/column26/apply.html
this.callback.apply(this, parameters);
要应用的第一个参数指示回调中“this”的值,并且可以设置为任何值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)