循环
重复的运行一段代码
JS支持3种循环结构:while循环、do-while循环、for循环
while循环
while(条件){
代码块(循环体)
}
graph TD
st((开始))-->条件{条件}
条件--true-->代码块
代码块-->条件
条件--false-->ed((结束))
死循环:条件永远满足,永远无法退出循环。
demo
// while循环
// 当不满足条件时退出循环 否则继续执行
var j = 0;
while (j < 100) {
console.log("hello world");
i++;
}
do-while循环
do{
循环体
} while(条件);
graph TD
st((开始))-->代码块
代码块-->条件{条件}
条件--true-->代码块
条件--false-->ed((结束))
demo
// do while 循环
var i = 0;
//先执行一次在进行判断
do {
console.log("hello world");
i++;
} while (i < 100);
while 和do while循环最大的区别在于:
for(初始化表达式; 条件; 条件改变表达式){
循环体
}
graph TD
st((开始))-->初始化表达式
初始化表达式-->条件{条件}
条件--true-->循环体
循环体-->条件改变表达式
条件改变表达式-->条件
条件--false-->ed((结束))
demo
// 输出1~100中的奇数
for (var i = 1; i < 100; i++) {
if (i % 2 !== 0) {
console.log(i);
}
}
循环中的关键字 -循环控制语句
break; 跳出当前循环
demo
for (var i = 0; i < 3; i++) { for (var j = 0; j < 3; j++) { console.log(i, j); if (i + j >= 2) { break; } } } // 结果 2,0 // 第一层循环不满足条件后才退出循环 第二层循环满足或不满足退出循环后还是要执行第一层循环 // 第二层循环每次都是清零再次进行循环
continue; 停止当前循环体,进入下一次循环。
demo
for (var i = 0; i < 3; i++) {
for (var j = 0; j < 3; j++) {
console.log(i, j);
if (i + j >= 2) {
continue;
}
}
}
// 最终结果 2,2
// 如果没有限制会一直死循环下去 依次输出结果后再次去运行
demo 输出99乘法表
for (var i = 1; i <= 9; i++) {
var str = "";
for (j = 1; j <= i; j++) {
str += `${j}*${i}=${j * i}\t`;
}
console.log(str);
}
// 输出结果如下:
// 1*1=1
// 1*2=2 2*2=4
// 1*3=3 2*3=6 3*3=9
// 1*4=4 2*4=8 3*4=12 4*4=16
// 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
// 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
// 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
// 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
// 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81