7.1 表达式和语句
●表达式:
表达式是可以被求值的代码,JavaScript 引擎会将其计算出一个结果。
●语句:
语句是一段可以执行的代码。
比如: prompt() 可以弹出一个输入框,还有if语句、for循环语句等等
区别:
1.表达式:因为表达式可被求值,所以它可以写在赋值语句的右侧。
例如 num=3+4
2.语句:而语句不一定有值,所以比如alert() for和break等语句就不能被用于赋值。
例如 alert()弹出对话框console.log() 控制台打印输出
某些情况,也可以把表达式理解为表达式语句,因为它是在计算结果,但不是必须的成分(例如continue语句)
7.2 分支语句
1.程序三大流程控制语句
●以前我们写的代码,写几句就从上往下执行几句,这种叫顺序结构
●有的时候要根据条件选择执行代码,这种就叫分支结构
●某段代码被重复执行,就叫循环结构
2.分支语句
●分支语句可以让我们有选择性的执行想要的代码
●分支语句包含:
➢If分支语句
➢三元运算符
➢switch 语句
7.3 if语句
●if语句有三种使用:单分支、双分支、多分支
●单分支使用语法:
if (条件) {
满足条件要执行的代码
}
➢小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
➢在if( )中所有数字除了0都为真,所有字符串除了空字符串都为真
➢如果大括号只有一个语句,大括号可以省略,但是不提倡这么做
●双分支if语法:
if (条件) {
满足条件要执行的代码
} else {
不满足条件执行的代码
}
●多分支if语法:
使用场景:适用于有多个结果的时候
if (条件1) {
代码1
} else if (条件2) {
代码2
} else if (条件3) {
代码3
} else {
代码n
}
7.4 三元运算符
●使用场景:比if双分支更简单的写法,可以使用三元表达式
●符号:? 与 : 配合使用
●语法:
条件 ? 满足条件执行的代码 : 不满足条件执行的代码
●一般用来取值
num = 3 > 5 ? 3 : 5 //num=5
7.5 switch语句
switch (数据) {
case 值1:
代码1
break
case 值2:
代码2
break
default:
代码n
break
}
➢找到跟小括号里数据全等的case值,并执行里面对应的代码
➢若没有全等===的则执行default里的代码
注意
1.switch case语句一般用于等值判断,不适合于区间判断
2.switch case一般需要配合break关键字使用,没有break会造成case穿透
7.6 断点调试
●作用:学习时可以帮助更好的理解代码运行,工作时可以更快找到bug
●浏览器打开调试界面
(1)按F12打开开发者工具
(2)点到sources一栏
(3)选择代码文件
●断点:在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来
7.7 while循环
while循环就是在满足条件期间,重复执行某些代码
1.while循环基本语法:
while (循环条件) {
要重复执行的代码(循环体)
}
2.while循环三要素:
循环的本质就是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程
所以,while循环需要具备三要素:
1.变量起始值
2.终止条件 (没有终止条件,循环会一直执行,造成死循环)
3.变量变化量(用自增或者自减)
7.8 循环退出
➢break: 退出循环
➢continue: 结束本次循环,继续下次循环.
区别:
●continue 退出本次循环,一般用于排除或者跳过某一个选项的时候,可以使用continue
●break 退出整个循环,一般用于结果已经得到,后续的循环不需要的时候可以使用
7.9 简易ATM取款机案例
需求:用户可以选择存钱、取钱、查看余额和退出功能
分析:
①循环的时候,需要反复提示输入框,所以提示框写到循环里面
②退出的条件是用户输入了4,则结束循环,不在弹窗
③提前准备一个金额预先存储一个数额
④取钱则是减法操作,存钱则是加法操作,查看余额则是直接显示金额
⑤输入不同的值,可以使用switch来执行不同的操作
【示例代码】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let money = 0
while (true) {
let num = +prompt(`
请您选择操作:
1.存钱
2.取钱
3.查看余额
4.退出
`)
if (num === 4) {
break
}
switch (num) {
case 1:
let deposit = +prompt('请输入存款金额')
money += deposit
break
case 2:
let take = +prompt('请输入取出金额')
money -= take
break
case 3:
alert(`您的银行卡余额为:${money}元`)
break
}
}
</script>
</body>
</html>