在刚学js的时候,我就是被循环中的i++和console.log()位置到底放在哪给困住了,尤其是里面再加上判断,真的是傻傻分不清楚。为什么看上去差不多的题,有的i++放在前面,有的放在后面。console.log()的位置有的放在判断里面,有的放在循环里面,有的甚至是放在最外面,今天,我想通过下面这几道题,说一下自己的思路。
1.打印10次hello,要求循环条件是1-10。
下面我将i++移到console.log(‘hello’)上面,看看结果是什么样的那?
上面这个例子非常简单,简单说明了一下,i++和console.log()互调位置,结果的不同,下面这几道题,稍微有一点点点点点绕,我们一起来看一下。
如果要是把i++,放进if判断的执行会是什么样子那,大家可以想一下,当i=1的时候,是奇数,console.log(i)打印出来了1,因为if语句只是一个判断语句,它包裹在外面的while条件里面,那么此时在while中等于没有i++,i始终是初始值i=1,没有办法向下执行,也就没有办法达到临界值,退出循环,同时获得你想要的结果,这样也就等于进入了i=1的死循环。运行结果如下:
3.
这道题,我又做错了,我把console.log(),放到了循环体里面,下面看看,放在循环体里面,结果会是怎样的。
4.
那我下面分别把这个console.log(),放到if判断里,和循环里看看打印出来的结果是什么样子的。
①放在判断语句里
②放在while循环中:
从上面的两张图片可以看出,即使是都在里面,一个是在if判断中,一个是在while中,结果也是很不一样的。
学习代码真的是没有捷径的,所有的练习代码必须敲三遍!这样不断的去写,去尝试,出现错误,找出原因,理解,才能学的懂,学的通,学的好!
希望和大家一起努力学好前端,学习这个事情果真一点都偷不得懒。