<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
var msg="\n函数的递归调用:\n\n";
//响应按钮的点击事件
function Test()
{
var result;
msg+="调用语句:\n";
msg+=" result=sum(20);\n";
msg+="调用步骤:\n";
result=sum(20);
msg+="计算结果:\n";
msg+=" result="+result+"\n";
alert(msg);
}
//计算当前步骤加和值
function sum(m)
{
if(m==0)
{
return 0;
}
else
{
msg+=" result="+m+"+sum("+(m-2)+ ");\n";
result=m+sum(m-2);
}
return result;
}
</script>
</head>
<body>
<input type="button" value="测试" onclick="Test()"/>
</body>
</html>这个递归函数大体的意思我能明白,它在自身中调用。我有一点不明白,这里的"msg+="调用语句:\n"。a+=b不是赋值运算吗?一开始已经定义了"var msg="函数的递归调用:",那么"msg+="调用语句"应该等价于"msg=msg+"调用语句",即"函数的递归调用:调用语句"。但是提交后显示的只是"调用语句"。如图求各位老师解惑。
添加回答
举报
0/150
提交
取消