条件语句
if…else
if…else语句是一种最基本的控制语句,它让JavaScript可以有条件的
执行语句。
- 语法结构
- 形式一:
if(判断条件){
当条件成立的时候,执行大括号中的代码
}
- 形式二:
if-else 结构
if (判断条件){
如果条件不成立,则执行这里的代码;
}else{
如果条件不成立则执行这里的代码;
}
- 形式三:
// 当该语句执行时,会从上到下依次对条件表达式进行求值判断
// 如果为true,则执行当前语句
// 如果为false,则继续向下判断
// 如果所有的条件都不满足则执行最后一个else后的语句(最后一个else也可不写,但要保证逻辑完整)
// 该语句中只有一个都没块被执行,一旦代码块执行了,则结束语句
/* if (条件表达式) {
语句...
} else if(条件表达式){
语句...
}else{
}
- 案例:
let age = +prompt('请输入你的年龄:');;
if(age>100){
alert('活的真没意思');
}else if(age>80){
alert('你也老大不小了');
}else if(age>60){
alert('你也退休了');
}else if(age>17){
alert('你已经成年了');
}else{
alert('你还是个小小孩子');
}
switch…case
switch…case是另一种流程控制语句。
- switch语句更适用于多条分支使用同一条语句的情况。
语法结构:
switch(语句){
case 表达式1:
语句...
case 表达式2:
语句...
default:
语句...
}
- 需要注意的是case语句只是标识的程序运行的起点,并不是终点,所以一旦符合case的条件程序会一直运行到结束。所以我们一般会在case中添加break作为语句的结束。
- 案例
<script>
/*
需求:用switch结构,判断大于60分合格,小于60分不合格。
6x /10 6
7x /10 7
8x /10 8
9x /10 9
100 /10 10
*/
let score = +prompt('请输入分数(0~100)');
// 方法一:
/* switch (parseInt(score / 10)) {
case 6:
case 7:
case 8:
case 9:
case 10:
alert('你的成绩合格了');
break;
default:
alert('你的成绩不合格');
break;
} */
// 方法二:
switch (true) {
case score > 60:
alert('你的成绩合格了');
break;
default:
alert('你的成绩不合格');
break;
}
</script>
循环语句
和条件语句一样,循环语句也是基本的控
制语句。
- 循环中的语句只要满足一定的条件将会一直执行。
while
while语句是一个最基本的循环语句。
- while语句也被称为while循环。
- 语法:
while(条件表达式){
语句...
}
- 和if一样while中的条件表达式将会被转换为布尔类型,只要该值为真,则代码块将会一直重复执行。
- 代码块每执行一次,条件表达式将会重新计算。
- 案例
<script>
/*
假如年利率为5%,试求从1000块增长到5000块,需要花费多少年
1000 1000* 1.05
1050 1050* 1.05
// 第一年的钱
// money *= 1.05;
// // 第二年的钱
// money *= 1.05;
// // 第三年的钱
// money *= 1.05;
*/
/* // 定义一个计数器
let count = 0;
let money = 1000;
// 定义一个while循环来计算每年钱数
while (money <= 5000) {
money *= 1.05;
count++;
}
alert('一共需要' + count + '年');
*/
</script>
do…while
do…while和while非常类似,只不过它会
在循环的尾部而不是顶部检查表达式的值。
- do…while循环会至少执行一次。
- 语法结构:
```js
do{
语句...
}while(条件表达式);
- 相比于while,do…while的使用情况并不
是很多。 - 案例:
<script>
// do-while循环结构
/* do{
循环代码:
} while(判断条件);
*/
// 循环打印1-10;
/* let i = 1;
while (i <= 10) {
console.log(i < 10);
i++;
} */
/* do{
console.log(i);
}while(i<=10); */
let userName = 'admin';
let password = 666666;
// let flag = true;
// while (flag) {
// let name = prompt('请输入用户名');
// let key = +prompt('请输入密码');
// if (userName == name && password == key) {
// alert('成功登入');
// break;
// } else {
// alert('密码或用户名输入错误,请重新输入');
// flag = false;
// }
// }
let flag=true;
do {
let name = prompt('请输入用户名');
let key = +prompt('请输入密码');
if (userName == name && password == key) {
alert('成功登入');
flag = false;
}else{
alert('密码或用户名输入错误,请重新输入');
}
}while(flag);
</script>
for
for语句也是循环控制语句,我们也称它为for循环。
- 大部分循环都会有一个计数器用以控制循环执行的次数,计数器的三个关键操作是初始化、检测和更新。for语句就将这三步操作明确为了语法的一部分。
- 语法结构:
for(初始化表达式 ; 条件表达式 ; 更新表达式){
语句...
}
- 案例:
<script>
/*
//创建一个执行10次的while循环
// 初始化表达式
let i = 0;
while(i<10){
// 设置更新表达式
alert(i++);
}
for语句,也是一个循环语句,也称为for循环
1.初始化表达式
2.条件表达式
3.更新表达式(循环体)
语法:
for(初始化表达式;条件表达式;更新表达式){
}
执行流程:
1.执行初始化表达式,初始化变量(初始化表达式只执行一次)
2.执行条件表达式,判断是否执行循环,
-如果为true,执行
-如果为false终止循环
3.执行更新表达式(循环体)
*/
// for (i = 0; i <= 10; i++) {
// document.write(i + '<br/>');
// }
let i=0;
for(;i<10;){
alert(i++);
}
/*
for中的三个部分都可以省略,也可以写在外部
如果for循环中不写任何表达式,只写两个,此时循环是一个死循环会一直执行下去。
*/
for(;;){
alert('hello');
}
</script>