检查一个函数在Javascript中有多less个参数?

有了arguments.length我可以看到有多less个参数传入了一个函数。

但是有没有办法确定一个函数可以带多less个参数,所以我知道我应该通过多less个参数?

Function.length会做这个工作(真的很奇怪,在我看来)

 function test( a, b, c ){} alert( test.length ); // 3 

顺便说一句,这个长度属性是非常有用的,看看John Resig的Javascript教程的幻灯片

arity属性指定了当前函数预期接收的参数个数。 这与arguments.length不同,它指示传入了多less实际参数。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/arity

编辑

请注意,从v1.4开始, arity已经被弃用了。 获得预期参数数量的正确方法现在是Harmenbuild议的function.length