循环语句
- while语句
- 格式
- 死循环
- 循环体
- 特点
- 执行流程
- 注意
- 练习
- dowhile循环
- 格式
- 特点
- while 和 dowhile 选择
- 练习
- for循环
- 格式
- 特点
- 执行流程
while语句
格式
while(条件表达式){
条件满足执行的语句;
}
死循环
条件表达式永远为真的循环结构我们称之为死循环
循环体
循环结构后面的{}我们称之为循环体
特点
- 只有条件表达式为真才会执行后面{}中的代码
- 大括号中的代码有可能会被执行多次
执行流程
- 首先会判断条件表达式是否为真, 如果为真就执行后面{}中的代码
- 执行完后面{}中的代码, 会再次判断条件表达式是否还为真
- 如果条件表达式还为真, 那么会再次执行后面{}中的代码
- 重复上边步骤, 直到条件表达式不为真为止
let num = 1;
while(num <= 100){
console.log("我" + num + "岁了!"); // 输出到 100 停止
num++;
}
注意
- 对于非Boolean类型的值, 会先转换为Boolean类型再判断
while (null){ // 转为false
console.log("被执行了"); // 永远不会执行
}
while (1){
console.log("被执行了"); // 死循环
}
- while 后如果只有一条语句它可以省略大括号 , 如果省略了后面的{}, 那么只有紧随其后的那条语句受到控制
while (false)
console.log("语句A"); // 控制 不会输出
console.log("语句B"); //不受控制 输出
- 不能在()后面写分号
while (false); // 单独 不能控制后边语句
{
console.log("语句A"); // 输出
console.log("语句B"); // 输出
}
- 最简单死循环写法
while(1);
练习
打印1~100之间 7的倍数,并统计个数
let num = 1;
let count = 0;
while(num < 101) {
if (num % 7 === 0) {
console.log(num);
count++;
}
num++;
}
console.log('一共有' + count + '个数');
dowhile循环
格式
do{
需要重复执行的代码;
}while(条件表达式);
特点
无论条件表达式是否为真, 循环体都会被执行一次
do{
console.log("ABC"); // 输出
}while (false);
while 和 dowhile 选择
- 大部分情况下while循环和dowhile循环是可以互换的
- 如果循环体中的代码无论如何都需要先执行一次, 那么建议使用dowhile循环
- 其它的情况都建议使用while循环
练习
要求用户输入密码, 判断输入密码是否正确(假设正确密码是123456) , 如果正确, 输出"密码正确"
如果不正确, 要求用户重新输入
let pwd = -1;
do{
pwd = prompt("请输入密码");
}while (pwd !== "123456");
alert("密码正确");
for循环
格式
for(初始化表达式;条件表达式;循环后增量表达式){
需要重复执行的代码;
}
for(let num = 1;num <= 10;num++){
console.log("我" + num + "岁了");
}
特点
for循环的特点和while循环的特点一样, 只有条件表达式为真, 才会执行循环体
执行流程
- 首先会执行初始化表达式, 并且只会执行一次
- 判断条件表达式是否为真, 如果条件表达式为真, 就执行循环体
- 执行完循环体就会执行循环后增量表达式
- 重复以上步骤, 直到条件表达式不为真为止