函数的递归调用即函数在定义时调用自身,考察如下实例代码:

//源程序2.35
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html140/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Sample Page!</title>
<script language="JavaScript" type="text/javascript">
<!--
var msg="\n 函数的递归调用 : \n\n";
//响应按钮的onclick 事件处理程序
function Test()
{
var result;
msg+="调用语句 : \n";
msg+="result = sum(6);\n";
msg+="调用步骤 : \n";
result=sum(6);
msg+="计算结果 : \n";
msg+="result = "+result+"\n";
alert(msg);
}
//计算当前步骤加和值
function sum(m)
{
if(m==0)
return 0;
else
{
msg+="语句 : result = " +m+ "+sum(" +(m-1)+"); \n";
result=m+sum(m-1);
}
return result;
}
-->
</script>
</head>
<body>
<center>
<form>
<input type=button value="测试" onclick="Test()">
</form>
</center>
</body>
</html>



          程序运行后,在原始页面单击“测试”按钮,弹出警告框如图2.35 所示。

          图 2.35 函数递归调用
        函数递归调用能使代码显得紧凑、简练,但也存在执行效率并低、容易出错、资源耗费较多等问题,推荐在递归调用次数较少的情况下使用该方法,其余情况尽量使用其余方法来代替。

原文网址:http://www.skyasp.net/news/?160.html

posted on 2011-10-26 17:15  csssky  阅读(225)  评论(0编辑  收藏  举报