最近刚学习js,遇到了 for 循环嵌套的问题,经过多加练习终于弄懂了,在此和大家分享一下,但在学习 for 的嵌套及其输出前,我们先学习一下 for 循环的运行规则吧。
1. for循环的运行规则:
1.1 规则的解释
for (a初始化表达式;b条件表达式;c更新表达式) { d循环体函 }
1.在for循环的第一个表达式中对循环变量'i'进行初始化;
2.在第二个表达式中判断循环变量'i'的值是否符合循环条件;
3.如果不符合条件,则循环结束;
4.如果符合条件,首先去执行for循环中的代码块,然后在第三个表达式中对循环变量进行更新。继续下一轮循环。
即:执行顺序:a-b-d-c,a-b-d-c,...
function score( ) { for(i=0;i<5;i++) { console,log(i); } }上述例子的输出结果为:0 1 2 3 4 。
2. 本篇文章主要讲述的是对 js 中 for 的嵌套的分析
2.1 嵌套的分析
function score( ) { for(i=0;i<5;i++) { for(j=0;j<i;j++) { console.log(i + ' '); } console.log('\n'); } } 1 2 2 3 3 3 4 4 4 4
2.2 输出的分析
function score() { for(i=0;i<5;i++) { for(j=0;j<i;j++) { 无 1 console.log(i + ' '); 1号位置 //输出结果: 2 2 3 3 3 4 4 4 4 } console.log(i + ' '); 2号位置 //输出结果:0 1 2 3 4 } console.log(i + ' '); 3号位置 //输出结果: 5 }
1号位置 ,输出结果的原因:输出受到 i,j 的制约。
2号位置 ,输出结果的原因:输出只受到 i 的制约。
3号位置 ,输出结果的原因:输出不受 j 的制约,当 i 等于 5 时,跳出 for 循环,执行输出,即:i = 5。