闭包再问

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<title>Untitled Document</title>
	</head>
	<body>
		 <script type='text/javascript'>
		 	
			function  inspect(inspector,title){
				alert(inspector);
				var expression,result;
				if("ignore" in arguments.callee) return;
				while(true){
					var message="";
					if(title) message=title+'\n';
					if(expression) message+='\n'+expression + '===>' +result + '\n';
					else expression='';
					
					message+="enter an expression to evaluate:";
					expression=prompt(message,expression);
					if(!expression) return;
					result=inspector(expression);
				}
			}
			
			
			function  factorial(n){
				//这样可以,注释那样不行,能透透彻彻说清楚么?
				var  inspector=function($){
					return   eval($);
				}
				//var inspector=eval($);
				inspect(inspector,"enter factorial()");
				var  result=1;
				while(n>1){
					result = result * n ;
					n--;
				//	inspect(inspector,"factorial()  loop");
					
				}
				
				inspect(inspector,"exting  factorial()");
				return  result;
			}
			
			factorial(12);
			
			
		 </script>
	</body>
</html>

你可能感兴趣的:(html)