如何将参数传递给函数本身是参数的函数?

时间:2010-12-09 04:52:23

标签: javascript function parameters mootools

所以,我想在调用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。新手

2 个答案:

答案 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