|
|

楼主 |
发表于 2022-3-4 14:04
|
显示全部楼层
本帖最后由 马黑黑 于 2022-3-4 14:49 编辑
代码解释:
首先,我们布局一个 id 标识号为 twoFor 的 div 盒子,双for循环结果将在这里呈现:
<div id="twoFor">演示结果:</div>
这个 div 内部已有简单的文本,运行结果在它的基础上添加。下面是JS部分,重点:
我们先声明一个字符串变量,它的值是两个 <br> 标签,意思是和 div 盒子里原有的的内容隔开来:
var str = "<br><br>";
接着进入外层循环,步进变量是 j :
for(j=0; j<4; j++){
str += "外层循环第 " + (j + 1) + "次(步进变量j值为 " + j + "):<pre>";
//这里是内循环代码
str += "</pre>";
}
外层循环在嵌入内层循环之前,我们先来处理一下外层循环运行的信息并将内层循环的信息放置到 <pre> 标签里以便隔开两种循环的运行结果的信息。<pre> 标签要有收尾符,所以内层循环一轮结束了,需要加上 </pre>。
循环,习惯上从 0 开始,for(j=0; j<4; j++) 语句里,j=0; 表示j这个步进变量从0开始起步,就是说第一轮循环时j的值是0;j<4; 表示j的步进不能等于也不能大于4,换言之,当它步进到4时,就终止循环;j++; 表示j的步进方式,就是每次加1的意思,换句话说就是每一轮循环结束就在原有基础上加上1。
再来理解内层循环:
for(k=0; k< 6; k++){
str += "\t内循环第 " + (k + 1) + " 次(步进变量k值为 " + k + ")<br>";
}
同理,步进变量k从0起步,到5时结束(k< 6; 表示k的增长不能等于也不能大于6),总共循环 0,1,2,3,4,5 共 6 次。我们拼接的字符串继续围绕着变量 str 展开,其中,\t 表示缩进一个 tab 键位所对应的制表符宽度值。
关于字符串拼接,变量 += 值 的方式是一种方法,它表示 变量 的值在原有基础上再增加一个值。还有一种方法在等号后面拼接:
"\t内循环第 " + (k + 1) + " 次(步进变量k值为 " + k + ")<br>"
这种拼接方式,引号里面的东东是纯字符串,加号 + 分两种情形两个意思,一种是字符串拼接符号(上一行代码中的红色部分)、用于拼接字符串,另一种是运算符号(暗橘黄色部分,就是 (k + 1) 里面的加号)、用于计算。
小提示:JS采用松散的变量方式处理相应机制。计算结果道理上属于数值类变量,与字符串串接后,对应值自动变成了字符串。
最后,再次使用字符串拼接方式,将运行结果显示在 div 盒子里:
document.getElementById('twoFor').innerHTML += str;
innerHTML 是基于dom(document)的js方法,表示内部的HTML代码,整个语句表示将 str 变量(双for运行结果的信息)串接到(+=)其上。
结合代码和运行结果,我们应能体会到:双循环中,外层循环每运行一次,内层循环就要进行一次从 0 到 N 的完整性循环。
|
评分
-
| 参与人数 2 | 威望 +80 |
金钱 +160 |
经验 +80 |
收起
理由
|
加林森
| + 30 |
+ 60 |
+ 30 |
赞一个! |
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|