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来改变长度
posted @ 2008-02-01 18:16  jacktu  阅读(2416)  评论(0编辑  收藏  举报