双重循环的嵌套执行原理
所谓双重循环的嵌套,就是一个for循环里面再包含另一个for循环。双重循环的嵌套执行原理指的是,当外层循环体执行一次循环时,内层循环体执行内层所有的循环。并且,内层循环体的循环变量往往与外层循环体的循环变量是相关联的。
下面我们来用双重循环的嵌套执行方式在页面中输出九九乘法表。在这里,for循环的执行原理就是:外层循环表示行数,内层循环表示列数,外层变量换到内层,达到递增或递减的效果。
执行程序如下图所示:
第一步:生成一个关于for循环的嵌套
for(){
for(){}
}
第二步:给外层循环定义一个 j 变量,为(var j = 1; j <= 9; j++),表明外层变量 j 从第一行开始 j = 1,九九乘法表一共有九行( j <= 9),步长为(j++);同理再给内层循环定义一个 i 变量,当外层循环 j = 1满足条件之后进入第二个for循环(var i = 1;i <= j; i++),表示第一次输出的 i=1 ,j=1,循环一次。
第三步:乘法公式的输出。乘法公式的第一个数值是内层循环变量,第二个数值是外层循环变量
document.write(${i}*${j}=${i*j}
);
第四步:换行处理。每执行完一次外层循环做一个换行处理
document.write("
");
第五步:第二次循环 j = 2,满足条件之后进入内层的for循环(i = 1;i <= j; i++),这时候执行第一次内层循环输出的 i = 1,j = 2,执行第二次内层循环输出的 i = 2,j = 2, 然后输出乘法公式。当 i = 3时,条件不满足,结束内层循环,进行换行处理,进入下一个外层循环。以此类推,直到循环结束,九九乘法表这种递增形式的式子在页面上一目了然。
总结,一个循环语句的循环体内包含另一个完整的循环结构,称为循环的嵌套。这种嵌套的过程可以有很多重,一个循环的外面包围一层循环叫双重循环,如果一个循环的外面包围两层循环就叫三重循环,一个循环的外面包围三层或者三层以上的循环叫多重循环。这种嵌套在理论上来说可以是无限的。