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>

  

posted on 2012-04-08 19:40  逍遥叹  阅读(205)  评论(0编辑  收藏  举报