检查一个函数在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 。