双重for循环嵌套
先简单介绍下单个for循环的原理:
for(定义变量;循环条件;变量变化){
循环语句块;
}
1、定义变量在进入循环前执行一次;
2、循环条件是每次进入循环之前都会执行并判断;
3、变量变化是每次完成循环语句块后执行的内容;
下面看一段代码:
// 逆战 停课不停学 加油!!
for (i = 1; i < 5; i++) {
for (j = 1; j < 5; j++) {
}
}
当执行程序时,先执行外层 i 的循环;
当 i 第一次循环时 i = 1,满足条件 i < 5,所以进入 i 的循环语句块(也就是 j 循环);当 j 第一次循环式 j =,满足条件 j <5,所以进入 j 的循环语句块;为了方便理解,我们把代码稍微变动如下:
// 逆战 停课不停学 加油!!
for (i = 1; i < 5; i++) {
document.write("外层第" + i + "次循环<br><br>");
for (j = 1; j < 5; j++) {
document.write("内层第" + j + "次循环<br>");
}
document.write("<br>");
}
效果图:
此时 j 第一次循环,就会执行
document.write("内层第" + j + "次循环<br>");
然后 j++,继续进行判断循 j 的环条件是否为true,如果条件为true则继续执行循环语句块,直到循环条件为false时停止循环;
继续执行 i 循环;
document.write("<br>");
然后 i++,
当 i 第二次循环时,i = 2 ,满足条件 i < 5,继续进入 i 循环语句块,也就是继续循环一次 j 循环,也就是说 i 每次循环时,j都会重新执行一个完整的循环,这样就形成了内外层的循环嵌套。