这周在逆战班学习了javascript的一些基础知识,主要学习了javascript的数据类型,运算符以及分支语句,那么这里我就说下关于循环嵌套的原理。
所谓循环嵌套就是for(){}的循环体也包含for循环,即:
for(){
for(){}
}
如上所示,就是循环嵌套的书写形式,那么循环嵌套有什么用处,执行原理又是什么呢?
这里列举一个例子:
for (var j = 1; j <= 5; j++) {
for (var i = 1; i <= 5; i++) {
console.log(`i是${i} , j是${j}`);
}
console.log('')
}
这里我写了一个简单的双重循环嵌套的案例,先看下执行结果:
如图所示,我们可以看到整个执行结果分成了五个部分,而每个部分又有五条执行结果。这就是循环嵌套的原理所在。
执行程序的时候,先执行外层 j 的循环
当 j 第一次循环时 j 是 1
此时要执行 j 的循环体,这个时候循环i也就是外层循环j的循环体
i的for循环是从1-5来执行循环,然后输出内容
i的数值 是从1循环至5,因为i是j的循环体,所以j的数值仍然是1
当 i 1-5 循环结束了 执行 console.log(’’),依次输出i从1到5的值,以及5次j都是1,输出一个空字符串和下边做区分。
此时 j 的 第一次循环体完全执行完毕,执行 j 循环的步长 j++
j 第二次循环 j 是 2
重新执行 循环体 i 从 1-5 循环 j 始终是 2
i循环结束,执行console.log() 循环体执行结束
j 的循环体执行结束, 执行 j 的步长 j++…
总结:1.当外层循环的循环体执行一次循环的时候,内层就会执行自身的所有循环
2.内层循环执行时,外层循环的数值是保持不变的
3.内层循环体的循环变量,往往与外层循环变量相关联