8

可能重复:
获取函数的数量

如何声明函数表达式,将其传递给定义的函数,并让定义的函数确定函数表达式有多少个参数?

请参阅此代码片段以供参考:

function getArgumentCount(fexp)
{
    return ...;
}

var fexp1 = function(a) { };
var fexp2 = function(a, b) { };

console.log(getArgumentCount(fexp1)); // Should output 1
console.log(getArgumentCount(fexp2)); // Should output 2
4

2 回答 2

16

javascript 函数有一个 .length 属性

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/length

于 2012-12-02T21:41:07.303 回答
2

您可以使用 来执行此操作theFunction.length,但我建议您不要这样做:除其他原因外:

  • 它不适用于与 naïve Function.bindshims 绑定的函数。
  • 它不适用于本机功能。(例如window.open1

1至少在 Chrome 上;它似乎在 Firefox 中工作。

于 2012-12-02T21:40:50.217 回答