Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的简单while循环不';我不尊重这个限制_Javascript_While Loop - Fatal编程技术网

javascript中的简单while循环不';我不尊重这个限制

javascript中的简单while循环不';我不尊重这个限制,javascript,while-loop,Javascript,While Loop,我想和你分享我的经验。为了学习Javascript,我刚开始写一本书。一开始有点令人沮丧,我拿到了关于函数、闭包和递归的章节,看起来很复杂,但我会继续努力,因为我真的很想学习。(感谢阅读:) 现在我遇到了一个While循环的问题,我不明白为什么当它达到极限50时它不停止。代码如下: 函数fib(一,二,结束){ while(两个

我想和你分享我的经验。为了学习Javascript,我刚开始写一本书。一开始有点令人沮丧,我拿到了关于函数、闭包和递归的章节,看起来很复杂,但我会继续努力,因为我真的很想学习。(感谢阅读:)

现在我遇到了一个While循环的问题,我不明白为什么当它达到极限50时它不停止。代码如下:

函数fib(一,二,结束){
while(两个fib(1,1,50)two在循环的最后一次迭代开始时小于50,但two的值在循环的最后一次迭代中增加。

循环条件发生在每次执行主体之前。您正在修改身体内
two
的值,当循环再次尝试运行时,它会看到您已超出边界并停止。这就是代码运行时发生的情况

初始值
one==1

two==1

二比五十小吗?是,开始循环。
第一次运行结果
two==2

one==3

二比五十小吗?是的,再来一次。
第二次运行结果
two==5

one==8

二比五十小吗?是的,再来一次。
第三次运行结果
two==13

one==21

二比五十小吗?是的,再来一次。
第四次运行结果
two==34

one==55

二比五十小吗?是的,再来一次。
第五次运行结果
two==89

one==144


二比五十小吗?不,2现在大于或等于50。停止。

因为它在循环结束之前不会检查条件。也许使用For会更容易。我不明白,我以为循环必须在34停止,因为55大于50,但它远远超过了50,在50之外加上三个结果,这在我的初学者看来很奇怪:)谢谢你,玛丽,你解释得很好,多亏了你,我明白了如何一步一步地遵循循环:很高兴我能帮上忙:)使用VS代码或Chrome调试器(F12)可以让你在代码发生时一步一步地检查代码,并实际观察逻辑的展开。学习需要一些时间,但它是不可或缺的!很抱歉,我按下了返回键,但我的消息没有完成,我把我现在写的东西贴在这里:谢谢你,玛丽,你解释得很好,谢谢你,我明白了如何一步一步地循环往复:“一=1-二=1”,“一=3-二=2”,“一=8-二=5”,“一=21-二=13”,“一=55-二=34”,“一=144-二=89”。循环在34上时检查二,然后继续,在控制台上显示以下89和144后不久,二是89,循环结束。理解起来真是太好了!再次感谢你,你会经常在这里看到我的问题:D