如何在javascript中添加函数的参数

时间:2012-03-22 20:26:26

标签: javascript

在下面的代码中,errHandlerBasic()如何调用errHandlerPlus()传递errHandlerBasic()收到的所有参数+另外一个争论?

function errHandlerBasic()
{
   //Something like...
   errHandlerPlus(arguments, "additional string param");
}

function errHandlerPlus()
{
   //...
}

3 个答案:

答案 0 :(得分:3)

它看起来不一定很干净,但你可以做到这一点:

function errHandler() {
  errHandlerPlus.apply(this, [].slice.call(arguments).concat('more', 'values'));
}

由于参数不是真正的数组,而是从Object继承,我们必须做一些重点才能访问javascript的本机数组方法。

有关示例,请参阅此jsfiddle

答案 1 :(得分:2)

errHandlerPlus.apply(this, Array.prototype.concat.call(null, arguments, ["additional string param"]));

答案 2 :(得分:0)

Javascript中的函数实际上是对象。因此,Javascript中的所有函数都有一个名为“arguments”的属性,该属性是传递给函数的参数数组。您不必更改代码中的任何内容,它应该可以正常工作。你尝试过运行吗?