如何找到函数定义的参数数量?

时间:2011-12-29 21:42:08

标签: javascript function arguments

我知道arguments.length方法,但这会返回调用函数的参数个数。

我需要的是函数所需的参数数量,例如

function myFunc(arg1,arg2,arg3) {
  alert("number of passed args:" + arguments.length);
  alert("number of required args:" + /*the code I'm asking for*/);
};

myFunc('some arg');

所以myFunc()会返回两个提示1和3的警告。

有什么办法吗?

1 个答案:

答案 0 :(得分:3)

另一方面,已弃用 arguments.caller.length属性保留此值。

function myFunc(arg1,arg2,arg3) {
    alert("number of passed args:" + arguments.length);
    alert("number of required args:" + arguments.caller.length);
}

获取形式参数数量的另一种方法是使用函数的length属性。必须知道此方法的函数名称:

function myFunc(arg1,arg2,arg3) {
    alert("number of passed args:" + arguments.length);
    alert("number of required args:" + myFunc.length);
}