for语句
语法:
for(语句1;语句2;语句3;){被执行的代码块}// 语句1:在循环(代码块)开始前执行// 语句2:定义运行循环(代码块)的条件// 语句3:在循环(代码块)已被执行之后执行
编程练习
小伙伴们,根据效果图,用循环写出代码。

任务
先写出初始的变量值i=1
写出它执行循环的条件i<=9
每循环一次后变量值的增加i++
输出内容到页面中,注意变量和字符串的拼接问题
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>for循环</title></head><body><script>for(i=1;i<=9;i++){document.write("第"+i+"圈"+"<br >");}</script></body></html>
for嵌套
嵌套
当循环与循环发生嵌套时遵循下列规则:
外层为假时,内层不执行
先执行外层,再执行内层,直至内层的条件为假时再返回外层去执行
选择练习1
下列关于循环嵌套,说法错误的是?(选择一项)
A、发生循环嵌套时,如果外层循环为假,不影响内层循环的执行
B、先执行外层循环,再执行内层循环
C、内层循环条件为假时,再返回外层循环去执行
D、发生循环嵌套时,如果外层循环为假,那么内层循环不再执行
正确答案:A
选择练习2
根据以下循环代码,判断该循环循环几次后会停止循环?(选择一项)
for(var i=1;i<=10;i++){document.write("*");}
A、9
B、11
C、10
D、8
正确答案:C
选择练习3
以下代码运行后会发生什么情况?(选择两项)
for(var i=1;i++){document.write("*");}
A、页面上什么也打印不出来
B、造成死循环,无限制的打印下去
C、页面中一直打印数字1
D、控制台会报错
正确答案:A,D
参考解析:本题考察的是循环的语法,正确选项为AD;循环里一定要定义循环的条件,不然控制台会报错,代码不会向下执行,页面也不会有任何显示。
编程练习1
小伙伴们,我们通过循环嵌套实现一个九九乘法表吧。
效果图如下:

任务
外层循环控制乘法表的行,同时也是第2个数,最大是9行,所以循环从1开始,条件要小于10,即:i = 1; i < 10; i++
内层循环控制着乘法表列,同时也是第1个数,从1开始,条件:第一个数要小于等于第二个数,即:j = 1; j <= i; j++
在内层循环中输出字符串的拼接,最后加个空格:document.write(j + “*” + i + “=” + j * i + "  ;");
在外层的循环最后加一个换行,这样就能实现只要外层循环一次就换一行:document.write("<br >");
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>九九乘法表</title></head><body><script>for(var i=1;i<10;i++){for(var j=1;j<=i;j++){document.write(j+"*"+i+"="+j*i+" ");}document.write("<br/>");}</script></body></html>
编程练习2
根据下面效果图写出代码:

任务
先写出最外层的循环,从1开始,到5结束,每次++,即:for(var i=1;i<=5;i++)
在外层循环中的最开始要输出一下这是游戏的第几轮,并且换一下行。即:document.write(“游戏第”+i+“轮,得分:<br />”)
写里层循环,从10开始,每循环一次,变量加10,直到分数为100停止循环。即:for(var j=10;j<=100;j+=10)
在里层循环中输出分数,后面加两个空格。即:document.write( j + " 分  ; ;")
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>for循环嵌套</title></head><body><script>for(var i=1;i<=5;i++){document.write("游戏第"+i+"轮,得分:<br />");for(var j=10;j<=100;j+=10){document.write(j+"分 ");}document.write("<hr />");}</script></body></html>





