再次提问:::@@@@@@关于去掉空格函数递归出现的问题(js版本)@@@@@@@@@@@@ if(num<2) { alert("a") num++ } else return; //设计程序中断点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的A()函数里当 num>=2 时没有了终止条件, 明显就是一个死循环递归, 必然报错 黄老师,我把程序改成这样了:<script type="text/javascript" language="javascript"><!--var num=0function A(){ if(num<4) { alert(num) num++ A() alert(num) }}//--></script><body ><input type="button" onclick="A()" value="click"></body>alert放在if里就执行4次,放在if外却是5次。为何?在http://expert.csdn.net/Expert/topic/2461/2461555.xml?temp=4.362124E-02中很多人说递归是一个分支,我还是不理解。按程序执行的结果看,是所有递归都执行完后才执行第二个alert。 如果是放在if里面,就是递归多少次,就alert多少次。对吗? alert放在if里就执行4次,放在if外却是5次。为何?当 num 取值 0, 1, 2, 3 时 if 判断里的alert() 发挥作用, 而当 num=4 的时候, if 判断条件不成立, 当然里面的alert也就不起作用了, 但是外面的alert由于没有判断条件, 程序也没有中止, 当然就会被运行, 因此放在if里面是alert 4 次而外面当然有5次了. 递归我不认为是一个分支, 应该是多次重复调用函数本身, 这个有点象 do ... while() 循环 我现在比较困惑的是递归的流程. 当alert在里面时,4次alert(4)是在递归时进行的还是递归结束后进行的? 你把递归想得太复杂了, 递归就是函数的重复调用而已.当 num=3 时(即第四次 alert ), 程序并没有中止, 而是第五次去调用函数A(), 虽然这次没有满足if判断条件, 没有 alert, 但是函数还是被调用运行了. 在 num=4 的时候由于没有满足 if 条件, 所以就没有运行 if 里面的语句, 即没有再次调用函数A(), 所以函数第五次运行后程序运行中止, 求助!请问有什么办法可以在地址栏用JS改变一个ID的样式 window.open() 被屏蔽的问题 怎样实现图片每秒闪烁2次? FF下的onClick问题? 问一个无知的问题 用getdate取得时间如何转为字符串? IE11中window.open问题 关于打印的问题。 怎样让父窗口提交表单? 簡單的問題,關於javascript實體的使用? 如何获得焦点? 小问一个,快来接分
<script type="text/javascript" language="javascript">
<!--
var num=0
function A()
{
if(num<4)
{
alert(num)
num++
A()
alert(num)
}
}//-->
</script><body >
<input type="button" onclick="A()" value="click">
</body>
alert放在if里就执行4次,放在if外却是5次。为何?
在http://expert.csdn.net/Expert/topic/2461/2461555.xml?temp=4.362124E-02中
很多人说递归是一个分支,我还是不理解。按程序执行的结果看,是所有递归都执行完后才
执行第二个alert。 如果是放在if里面,就是递归多少次,就alert多少次。对吗?
当 num=3 时(即第四次 alert ), 程序并没有中止, 而是第五次去调用函数A(), 虽然这次没有满足if判断条件, 没有 alert, 但是函数还是被调用运行了. 在 num=4 的时候由于没有满足 if 条件, 所以就没有运行 if 里面的语句, 即没有再次调用函数A(), 所以函数第五次运行后程序运行中止,