while循环和do-while循环 还有 for 循环
1.while循环
1. 语法:
while(条件表达式){
循环体
}
2.代码演示:
let = 1;
while(i <= 5) {
console.log('你好')
}
3.总结
1.执行过程:先看小括号的表达式,表达式成立了才执行循环体的代码 ,表达式不成立就退出循环
2.do-while循环
1.语法
do{
循环体
}while(条件表达式)
2.代码演示
let i = 0
do {
console.log('你好')
i++ //这里没有i++ 就会一直循环然后浏览器卡住了
}
3.练习
do {
let userName = +prompt('账号')
let password = +prompt('密码')
if (userName == '123' && password == 123) {
alert('登录成功')
break; // 密码和账号正确就退出循环
} else {
alert('账号和密码错误')
continue
}
} while (true)
3.for循环
1语法:
for(表达式;表达式;表达式;){
循环体
}
2.代码演示
for(let i = 0; i > 5 ; i++) {
console.log('你好')
}
3.练习
1.循环1~100:
for (let i = 1; i <= 100; i++) {
console.log(i);
}
2.求100的偶数
for (let i = 0; i <= 100; i++) {
if (i % 2 == 0){
console.log(i)
}
}
3.求100整除7的数
for (let i = 0; i <= 100; i++) {
if (i % 7 == 0) {
console.log(i);
}
}
4.求1000到5000,的5的和
for (let i = 1000; i <= 5000; i++) {
let ge = i % 10
let shi = Math.floor((i / 10) % 10)
let bai = Math.floor((i / 100) % 10)
let qian = Math.floor((i / 1000))
if (ge + shi + bai + qian == 5) {
console.log(i);
}
}
5.循环学生输入几个人,然后就出现多少个输入框,在求他们的总和,和平均成绩
let renshu = +prompt('人数')
let sum = 0
let num
for (let i = 1; i <= renshu; i++) {
let chengji = +prompt('成绩')
sum += chengji
console.log('学生' + '第' + i + '个' + '成绩为' + chengji);
num = sum / renshu
}
console.log(`平均成绩为 ${num}`);
console.log(`总和 ${sum}`);
4.break结束
1.语法:
// break 结束循环 当表达式语句成立了就不会执行下去
for (let i = 0; i < 10; i++) {
if (i == 5) {
break;//结束循环
}
console.log(i);
}
2.break案例
let userName, password;
do {
userName = +prompt('账号')
password = +prompt('密码')
if (userName == 123 && password == 123) {
break; //结束循环
}
} while (true);
3.案例
<script>
// for (let i = 2; true; i++) {
// if ((i % 2 == 1 && i % 3 == 1 && i % 4 == 1)) {
// console.log(i);
// break
// }
// }
for (let i = 1; true; i++) {
if (i % 3 == 1 && i % 4 == 2 && i % 5 == 3) {
console.log(i);
break
}
}
</script>
5.continue结束本次循环
let sum = 0; // 声明一个综合的变量
for (let i = 1; i <= 100; i++) {
// 不能被7整除的数加进去
if (i % 7 == 0) {
continue; //条件满足了就出去本次循环,继续下一轮的循环
}
sum += i;
}
console.log(sum);
6.嵌套循环
1.语法;
for (let i = 0; i < 5; i++) {
for (let index = 0; index < 5; index++) {
console.log(index);
}
}
2.嵌套循环案例
<script>
for (let index = 1; index <= 9; index++) { //控制行数
for (let i = 1; i <= index; i++) { // 控制数量
document.write(`${index} * ${i} = ${index * i}`)
}
document.write(`<br>`)
}
</script>