所以,我想在调用functionOne()时将paramA和paramB传递给functionTwo(),如下所示:
function functionOne( myFunc )
{
$aj = new Ajax('hhtp://myurl', {
method: 'get',
update: 'myDiv',
onComplete: myFunc
}).request();
}
function functionTwo( paramA, paramB )
{
alert( paramA );
alert( paramB );
}
// somehow, i want to be able to pass paramA and paramB here:
functionOne( functionTwo );
这可能吗?任何帮助表示赞赏。感谢
修改
如果在类中定义了functionOne()和functionTwo(),该怎么办?
即。这曾经工作(没有参数):
this.functionOne ( this.functionTwo );
但这不起作用(带参数)
this.functionOne (function() { this.functionTwo(paramA, paramB); });
也不是这样的:
this.functionOne (function() { this.call(functionTwo, paramA, paramB) });
PS。新手
答案 0 :(得分:4)
听起来您正尝试使用指定的参数集将functionTwo
传递给functionOne
。如果是,请使用以下
functionOne (function() { functionTwo(paramA, paramB); });
答案 1 :(得分:2)
在Mozilla开发站点上查看func.call()和func.apply()。两者都允许您使用动态参数调用对函数的引用。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call