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"的值,可以设置为任何值.
| 归档时间: |
|
| 查看次数: |
33866 次 |
| 最近记录: |