-什么是循环结构呢?
-
循环结构的基本概念:循环结构是代码运行程序里面一种非常重要的结构,它的特点就是在条件表达式(设定的条件)为真的时候,反反复复的执行某一段代码程序,一直到条件不为真的时候才停止。
-
条件表达式(设定的条件)称之为循环的条件
-
需要反复执行的代码(大括号里面的代码)称之为循环体
-
简单介绍循环结构就是条件为真时,一次又一次的执行相同的代码块
-继while语句之后,现在来介绍do-while语句和for语句
-do-while 循环
while 循环和 do-while 循环的区别是什么:
小括号里面是条件表达式,大括号里面是循环体(需要反复执行的代码)
-
while循环的格式:
while(条件表达式){
需要重复循环的代码语句
}
while循环的特点:
只有当条件表达式为真的时候,才会执行循环体
先写小括号在写大括号
-
do-while 循环的格式:
do{
需要重复循环的代码语句
}while(条件表达式)
do-while循环的特点:
不管条件表达式是否为真,循环体都会被执行一次
先写大括号在写小括号
通俗易懂的实例:
// 条件表达式为假,不执行大括号里面的代码
while(false){
console.log(123);// 控制台没有输出(引擎忽略掉此代码)
}
// 程序默认从上到下的执行, 不管条件表达式是否为真,循环体都会被执行一次。
do{
console.log(123);// 控制台输出123
} while(false)
小实例:
// 要求用户输入密码,判断输入密码是否正确(假设密码为123)
// 如果正确,输出“欢迎回来”
// 如果不正确,那么要求用户重新输入一次
// 方法一:代码量多,具有很多重复的代码,繁琐
let password=prompt("请输入密码");
while(password !== "123"){
password=prompt("请输入密码");
}
while(password !== "123"){
password=prompt("请输入密码");
}
while(password !== "123"){
password=prompt("请输入密码");
}
...
alert("欢迎回来");
// 方法二:有两个重复的 password=prompt("请输入密码");
//还有没有更简便的方法呢?是有的
let password=prompt("请输入密码");
if(password !== "123"){
password=prompt("请输入密码");
}
alert("欢迎回来");
//方法三: 优化:美观,代码量少
let password=-1;
do{
password=prompt("请输入密码");
}while(password !== "123");
alert("欢迎回来");
▲do-while的注意点:
-
在企业开发中大部分的情况下,while循环和do-while循环是可以进行相互交换的。
-
在企业开发中,如果循环体里面的代码不管怎么样都需要先执行一次,那么建议使用do-while循环(代码量少,简便)
-
在企业开发中,其他的情况都建议使用while循环
for循环
-
格式:
for(初始化表达式;条件表达式;循环后增量表达式){
需要重复执行的代码语句
}
-
for循环特点:
只有当条件表达式为真,才会执行循环体
-
for循环的执行流程:
3.1首先会执行初始化表达式,并且只会被执行一次
3.2判断条件表达式是否为真,如果条件表达式为真,那么就执行循环体
3.3执行完循环体就会执行循环后增量表达式
3.4 重复3.1-3.3 ,一直到条件表达式不为真为止
while格式:
// 1.初始化表达式
let num=1;
// 2.条件表达式
while(num <=10 )
{
console.log("泡芙"+num) ;
// 3.循环后增量表达式
num ++;
}
for格式
// 1.初始化表达式
// let num=1;
// 2.条件表达式
for(let num=1 ; num <=10 ; num++)
{
console.log("泡芙"+num) ;
// 3.循环后增量表达式
// num ++;
}
那么for循环和while循环如何选择呢?
while循环,默认只可以让全局(外界)使用,不可以不让全局(外界)使用。(僵硬)
while格式:
// 1.初始化表达式
let num=1;
// 2.条件表达式
while(num <=10 )
{
console.log("泡芙"+num) ;
// 3.循环后增量表达式
num ++;
}
//如果是while循环,在循环结束之后还可以使用用于控制循环结束的变量
console.log(num);
for循环,可以让全局(外界)使用,也可以不让全局(外界)使用。(灵活使用)
for循环格式:
// 1.初始化表达式
// let num=1;
// 2.条件表达式
① // for(;num <=10; ) // 可以让外界使用
② for(let num=1 ; num <=10 ; num++) // 不让外界使用
{
console.log("泡芙"+num) ;
// 3.循环后增量表达式
// num ++;
}
//如果是for循环,在循环结束之后可以让全局(外界)使用,也可以不让全局(外界)使用
console.log(num);
注意点:
因为for循环结构比while循环结构更灵活,
所以在企业开发中,可以使用for循环就使用for循环。
或者说优先选择for循环来使用。
for循环的注意点:
-
在for循环中“初始化表达式”,“条件表达式”,“循环后增量表达式”都是可以不写的。如果不写就相当于while(1)-无限循环,浏览器会崩塌;
-while循环不能省略条件表达式
-for循环是可以省略条件表达式的,如果省略,那么条件表达式默认为真。
△ 注意:条件表达式默认为真,for循环就会一直执行,可能会导致浏览器崩塌,浏览器关闭不了,会一直在无限循环。
友情提示,不要随便测试这个。浏览器可能会崩塌。
-
其他的注意点和while循环一样。
for循环:在循环嵌套中外循环控制的是行数,内循环控制的是列数。