arguments.callee()事例 参数检验
<script>
var abc=function(x){
if(x<2) return 1;
else return x*arguments.callee(x-1);
}
var y=abc(5);
alert(y);
</script>
参数检验
<script>
function check(args){
var actual=args.length; //实际的参数长度
var expected=args.callee.length; //期待的参数长度
if (actual!=expected){ //实际长度和期待长度不同是报错
throw new Error("Wrong number of argument:expected:"+expected+";actually passed"+actual);
}
}
function f(x,y,z){
check(arguments);
return x*y*z;
}
var f=f(1,2,3); //修改参数会报错
alert(f);
</script>
浙公网安备 33010602011771号