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');
{
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来改变长度