<!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+"调用语句",即"函数的递归调用:调用语句"。但是提交后显示的只是"调用语句"。如图求各位老师解惑。
Caballarii
相关分类