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>