12-JavaScript基础-for循环

for循环基本概念

  • JavaScript中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。

  • 格式:

for(①初始化表达式;②循环条件表达式;④循环后操作表达式)
{
    ③执行语句;
}
  • for循环执行流程

for循环开始时,会先执行初始化表达式,而且在整个循环过程中只执行一次初始化表达式
接着判断循环条件表达式是否为真,如果条件为真,就会执行循环体中的语句
循环体执行完毕后,接下来会执行循环后的操作表达式
执行完循环后操作表达式, 然后再次判断循环条件表达式是否为真,如果条件为真,就会执行循环体中的语句
重复上述过程,直到条件不成立就结束for循环

for(var i = 0; i < 10; i++){
    alert(i); // 输出0-9
}
  • for循环和while循环如何选择?

一般情况下while和for可以互换, 但是如果循环执行完毕之后就不需要使用用于控制循环的增量, 那么用for更好

for循环注意点

  • for循环中初始化表达式,循环条件表达式,循环后操作表达式都可以不写
  • 循环条件表达式默认为真
  • for(; ;) 语句相当于while(1), 都是死循环
  • 其它注意点和while一样

循环嵌套

  • 循环语句的循环体中存在其他的循环语句就是循环嵌套

注意: 一般循环嵌套不超过三层
外循环执行的次数 * 内循环执行的次数就是总共执行的次数
格式:

while/while嵌套
while/do-while嵌套
while/for嵌套
for/for嵌套(最常用)
for/while嵌套
for/do-while嵌套
do-while/do-while嵌套
do-while/while嵌套
do-while/for嵌套

循环嵌套练习

  • 打印好友列表
   好友列表1
          好友1
          好友2
          好友3
   好友列表2
          好友1
          好友2
          好友3
    for (var i = 1; i <= 2; i++) {
        console.log("好友列表"+ i);
        for (var j = 1; j <= 3; j++) {
            console.log("    好友"+ j);
        }
    }
  • for循环嵌套实现:矩形绘制
需求: 在界面上绘制如下图形
****
****
****
   //  外循环控制行数
   for (var i = 0; i < 3; i++) {
//        内循环控制列数
       for (var j = 0; j < 4; j++)
       {
           window.document.write("*");
       }
       window.document.write("
"); }
  • for循环嵌套实现:三角形绘制
    尖尖朝上,改变内循环的条件表达式,让内循环的条件表达式随着外循环的i值变化
需求: 在界面上绘制如下图形
*
**
***
****
*****
for(var i = 0; i< 5; i++){
    for(var j = 0; j <= i; j++){
        window.document.write("*\t");
    }
    window.document.write("
"); }
  • for循环嵌套实现:三角形绘制
    尖尖朝下,改变内循环的初始化表达式,让内循环的初始化表达式随着外循环的i值变化
需求: 在界面上绘制如下图形
*****
****
***
**
*
for(var i = 0; i< 5; i++){
    for(var j = i; j < 5; j++){
        window.document.write("*\t");
    }
    window.document.write("
"); }
  • for循环嵌套实现:打印特殊三角形
1
12
123
  /*
  1.观察发现有很多行很多列--》循环嵌套
  2.尖尖朝上,让内循环条件表达式随着外循环i改变
  3.发现每次输出的值其实就是 j + 1 的值
  */
    for (var i = 0; i < 3; i++) {
        for (var j = 0; j <= i; j++) {
            window.document.write(j+1+"");
        }
        window.document.write("
"); }
1
22
333
  /*
  1.观察发现有很多行很多列--》循环嵌套
  2.尖尖朝上,让内循环条件表达式随着外循环i改变
  3.发现每次输出的值其实就是i的值
  */
    for (var i = 1; i <= 3; i++) {
        for (var j = 1; j <= i; j++) {
            window.document.write(i + "");
        }
        window.document.write("
"); }
  • for循环嵌套实现:打印正三角形
-----*
----***
---*****
--*******
-*********
***********
  /*
  1.观察发现有很多行很多列--》循环嵌套
  2.仔细观察其实需要打印2个三角形, 一个尖尖朝上,一个尖尖朝下
  切记先一个一个打印, 然后再合并,否则步子迈大了会扯到蛋
  */
    for (var i = 0; i <= 5; i++) {
        for (var j = 0; j < 5 - i; j++) {
            window.document.write("-");
        }
        for (var m = 0; m < 2*i+1; m++) {
            window.document.write("*");
        }
        window.document.write("
"); }
  • for循环嵌套实现:打印99乘法表
1 * 1 = 1
1 * 2 = 2     2 * 2 = 4
1 * 3 = 3     2 * 3 = 6     3 * 3 = 9


你可能感兴趣的:(12-JavaScript基础-for循环)