for循环详解和 双重循环嵌套执行原理

for循环详解

for循环里包含3条语句,
for(定义初始变量;循环条件;变量变化){
循环语句块
}

第一句是为循环变量赋初始值值,
第二句是循环条件,
第三句是给循环变量重新赋值,
例如:
var row=9;
for(i=0;i<row;i++){
循环语句块
}
这个循环的循环变量是i,i的初始值是0,循环条件是i<row,i以自增的方式赋新值,就拿上面这个例子来说,执行的过程是先给给i赋初值,再判断i是否小于row,若是则执行for循环里的语句,执行完之后再执行i++,然后再判断i是否小于row,若是则仍执行for循环里的语句,否则退出循环。

常见的for循环一般是一下代码这种结构:
for(var i=0;i<100;i++)
{
console.log(i);
}
或者递减的:

for(var i=100;i>0;i–)
{
console.log(i);
}
三种for循环样式
1、for(var i = 0;i < 100;i++) ------递减和递加的算一种
2、for(;true;) ------有空表达式的
3、for (var i = 100, j = 100; i > 0 || j>0 ; i–,j++) ------有多表达式的
案例:
var str=0;
for(var j=1;j<64;j++){
var m=Math.pow(2,j)
str+=m;
}
str+=str*0.00001;
document.write(“方格重量”+str+“kg,”+“芝麻重量”+m+“kg,”)
在这里插入图片描述
以上就是for循环的过程。

双重循环嵌套执行原理

重循环的嵌套说白了 就是for套for。
for循环来说,执行原理就是:外层循环表示行数;内层循环表示列数;外层变量换到内层,达到递增递减效果。

我们现在举个列子:这是一个“九九乘法表”,

在这里插入图片描述

在图上可以看到共有两个for循环,最外层的为外层循环,里层的为内层循环,外层循环实现的是九九乘法表的每一行,也就是生成了9行内容,那么内层循环生成的是每一列,这里可以理解为每一个单元格,也就是每一行中有九个单元格的内容,这样就组成了一个九行九列的表格内容。

我们来解释下 这个双重循环吧
for循环,for除了语句块,后面括号内分别有三个表达式,第一个为变量初始值,第二个为条件判断,第三个为变量变化值,那么在一个单一for循环中,它的一个执行的过程是:

1.先执行变量的初始化值,也就是var i=1;这个在进入循环的时候 只执行一次
2.执行后面的i<=row;条件判断语句,若满足这里面的条件就执行 不满足就不执行,
执行后i的值进行赋值,因此i的值变为了1

3.循环体内语句块执行完之后,回到变量变化值i++这里,进行i自身+1的一行为。
4.执行后返回条件判断语句这边i<=row;进行判断,如果成立,执行循环体内语句块,成立再返回到i++;然后再返回到条件判断,直到条件判断为false的时候,结束本次的循环操作。

解析:双重循环嵌套

这是一个去掉内循环的的外循环
在这里插入图片描述
的出的结果
在这里插入图片描述

这是内循环
在这里插入图片描述
的出的结果

在这里插入图片描述

当内循环 和外循环结合起来就是一个双重循环嵌套

在这里插入图片描述
得出的结果

在这里插入图片描述

加入内层循环体之后就变成了以上效果,可以清楚地看到,每一个tr标签内又插入了td的标签对 td是根据初始设置的条件依次递增 知道满足条件终止。
解释:
先外层的循环先执行一次条件,然后把内循环的条件全部执行一遍,内循环会根据初始设置的条件去循环,当满足初始设置的条件就会false了,然后才结束内层的循环操作,接下来再返回到外层的循环体,执行i++的操作,然后根据初始设置的条件去判断,满足要求了然后再进入到循环体,再次的将内层的循环执行完成之后,再次返回外循环,这样反反复复的直到满足初始条件, 到最后就能呈现如图的的效果了。

以上就是双重循环嵌套的一个循环过程,当明白的单一的循环 就能更理解双重循环

                                                                                           @逆战班笔记
相关推荐
©️2020 CSDN 皮肤主题: 点我我会动 设计师:白松林 返回首页