javascript中判断调用函数时候的参数个数是否和函数要求的一样

function  check(arg)
{
    
var actual = arg.length;    //实际参数个数
    var expected = arg.callee.length;    //需要的参数个数
    return actual == expected;
}

function  test(a,b,c)
{
    alert( check(arguments) );
}

test(
' a ' , ' b ' );


callee属性是引用当前正在执行的函数。

arguments.callee获取对当前arguments属性所属函数的的引用

arguments.callee.length 表示函数期望的参数个数,是一个固定的值,不能改变!
arguments.length 表示函数调用时实参的个数,可以通过arguments[i] = "..."来改变,也可以通过arguments.length来改变长度

你可能感兴趣的:(JavaScript)