什么是循环语句
帮助我们多次执行 某一个代码段
while 循环语句
while 循环
基于某一个条件, 循环处理 某一段代码
while 语法 : while (条件) {要循环执行的 代码}
while (num < 5) { // 死循环
要执行的代码
console.log(1)
}
var num = 1;
while (num < 6) {
console.log(1)
num++
}
* 第一次执行 num == 1
* 符合 num < 5 执行代码: 打印1, num自增
* 第二次执行 num == 2
* 符合 num < 5 执行代码: 打印1, num自增
* 第三次执行 num == 3
* 符合 num < 5 执行代码: 打印1, num自增
* 第四次执行 num == 4
* 符合 num < 5 执行代码: 打印1, num自增
* 第五次执行 num == 5
* 不符合 num < 5 不执行代码, 且 停止 循环
*/
- 初始化条件
var num = 1;
while (num < 6) { // 2. 条件判断, 不符合时结束循环
console.log(1) // 3. 循环执行的代码
num++ // 4. 改变自身, 如果不写, 死循环
}
do...while 循环语句
do...while 循环
语法: do {要循环执行的代码} while (条件)
和 while 循环的 差异
while 首次执行就判断条件, 条件不符合不执行, 且 停止循环
do...while 首次就执行,不需要判断条件, 执行完毕再去判断条件 , 条件不符合时不执行,且停止循环
var num = 10;
while (num < 6) { // 2. 条件判断, 不符合时结束循环
console.log(1) // 3. 循环执行的代码
num++ // 4. 改变自身, 如果不写, 死循环
}
var num = 10
do {
console.log(1)
num++
} while (num < 6)
var num = 10
do {...} while (num < 6)
首次执行
1. 直接执行 {...} 代码, 所以会打印 1, num++
2. 判断条件 num < 6 吗 此时 num 一定大于 6 ,所以条件为 false
条件 false 直接停止循环
for 循环语句
for 循环
JS 循环的一种
语法 for (1. 声明变量(初始化条件); 2. 判断条件; 3. 改变自身;) {循环执行的代码}
for循环小案例
-
在 1000 到 2000 的数字内, 需要求出 是 4的倍数, 且不是100的倍数 的那个数字
-
新需求, 不打印打控制台, 输出在页面
-
新新需求, 继续输出在页面 但是 每 4个 换一行
var num = 0 // 计数器, 计算达到 4 次时 需要换行
for (var i = 1000; i < 2000; i++) {
if (i % 4 == 0 && i % 100 !== 0) {
// console.log(i)
document.write(i + ' ')
num++
if (num == 4) {
document.write('<br>')
num = 0
}
}
}
关键字的应用
break 关键字的应用
continue 关键字的应用
共同点:
都可以打断循环
不同点:
break: 当我们想 满足某一个条件时, 停止整个循环, 可以使用 break
continue: 当我们想 满足某一个条件时, 停止当前本轮循环, 后续的循环正常执行
for (var i = 1; i <= 5; i++) {
console.log('')
if (i == 3) {
console.log('')
break
}
}
for (var i = 1; i <= 5; i++) {
if (i == 3) {
console.log('')
continue // 只能确保后边的代码 不执行
}
console.log('')
}
循环嵌套
两个循环叠在一起
for (var i = 0; i < 3; i++) { // 外层循环
console.log('外层循环第', i, '次执行')
for (var k = 0; k < 3; k++) { // 内层循环
console.log('内层循环循环: ', k) // 0 --- 1 --- 2
}
}
外层循环 执行 一次, 内层循环 就会 完整的 执行一次
i == 0
k --> 0 -- 1 -- 2
i == 1
k --> 0 -- 1 -- 2
i == 2
k --> 0 -- 1 -- 2
i == 0
执行内层循环
打印k的值
0 --> 1 --> 2
i == 1
执行内层循环
打印k的值
0 --> 1 --> 2
i == 2
执行内层循环
打印k的值
0 --> 1 --> 2