上次写js基础案例时有涉及到js中的循环,今天我们具体讲讲js中的for循环、while循环以及do…while循环。
1.语法结构
(1)for循环
for(初始化变量; 条件表达式; 操作表达式 ){
//循环体(需要循环的代码块);
}
(2)while循环
while (条件表达式) {
// 循环体代码 ;
}
(3)do…while循环
do {
// 循环体代码 ---条件表达式为 true 时重复执行循环体代码
} while(条件表达式);
2.循环执行过程
(1)for循环的执行流程:
1.执行初始化表达式—只执行一次
如:(let i=0;)
2.判断循环条件表达式是否为true,如果为true,执行循环体,如:(i>=5;)
如果为false,跳出循环,执行后面的语句
3.当循环体语句执行完成后,再执行步进表达式如:(i++;)
4.再次判断循环条件表达式是否为true,如果为true,执行循环体,如果为false,跳出循环,执行后面的语句
(2)whlie循环的执行流程:
1.计数器初始化 例:
如:(let i=0;)
2.判断条件表达式是否成立如:(i>5)
,
如果成立,执行语句块,执行步进表达式如:(i++;)
3.再次判断条件表达式是否成立,
如果成立,执行语句块,
如果不成立,循环结束。
(3)do…whlie循环的执行流程:
1.计数器初始化
如:(let i=0;)
2.执行do语句块
3.判断条件表达式是否成立如:(i>12)
,
如果成立,执行语句块,执行步进表达式如:(i++;)
,
如果不成立,循环结束。
3.小练习
(1)用for循环输出1-100之间能被3和7整除的所有数的和及平均值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<!-- JavaScript编程:求1-100之间能被3和7整除的所有数的和及平均值 -->
<script>
let sum = 0;
let aver = 0;
let count = 0;
for (let i = 1; i <= 100; i++) {
if (i % 3 === 0 && i % 7 === 0) {
sum = sum + i;
count++;
}
}
aver = sum / count;
document.write(
"1-100之间能被3和7整除的所有数的和为:" + sum + ",平均值为:" + aver
);
</script>
</body>
</html>
(2)用while循环输出1-100之间能被3和7整除的所有数的和及平均值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<!-- JavaScript编程:求1-100之间能被3和7整除的所有数的和及平均值 -->
<script>
let sum = 0;
let aver = 0;
let count = 0;
let i = 1;
while (i <= 100) {
if (i % 3 === 0 && i % 7 === 0) {
sum += i;
count++;
}
i++;
}
aver = sum / count;
document.write(
"1-100之间能被3和7整除的所有数的和为:" + sum + ",平均值为:" + aver
);
</script>
</body>
</html>
(3)用do…while循环输出1-100之间能被3和7整除的所有数的和及平均值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<!-- JavaScript编程:求1-100之间能被3和7整除的所有数的和及平均值 -->
<script>
let sum = 0;
let aver = 0;
let count = 0;
let i = 1;
do {
if (i % 3 === 0 && i % 7 === 0) {
sum += i;
count++;
}
i++;
} while (i <= 100);
aver = sum / count;
document.write(
"1-100之间能被3和7整除的所有数的和为:" + sum + ",平均值为:" + aver
);
</script>
</body>
</html>
4.小结
最后,我们来总结一下:
对于for循环,必须在循环条件前后必须加上';'
,否则会显示语法错误。若循环体如包括有一个以上的语句,则必须用'{}'
括起来,组成复合语句。
对于while循环,while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。若循环体如包括有一个以上的语句,则必须用'{}'
括起来,组成复合语句。
对于do…while循环,则至少要执行一次循环语句
for,while,do-while循环使用的区别: 一般循环次数明确,则使用for循环,一般不知道我们需要执行多少次,不知道循环什么时候结束,则使用while循环。
总之,for 和 while 都是循环方法。具体在什么情况下使用,要根据需求的不同。对于不知道要具体循环多少次时。用while方法,当知道具体的循环次数时,就用for方法