语句
表达式和语句
表达式是可以被求值的代码,JavaScript 引擎会将其计算出一个结果。(简单理解表达式就是一个式子)
语句是一段可以执行的代码。(比如: prompt() 可以弹出一个输入框)
分支语句
以前我们写的代码,写几句就从上往下执行几句,这种叫顺序结构
有的时候要根据条件选择执行代码,这种就叫分支结构
某段代码被重复执行,就叫循环结构
if分支
if语句有三种使用:单分支、双分支、多分支
单分支
语法:
if(条件){
满足条件执行的代码
}
括号内的条件为true时,进入大括号里执行代码
小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
如果大括号只有一个语句,大括号可以省略,但是,俺们不提倡这么做~ 双分支
语法:
if(条件){
满足条件执行的代码
}else{
不满足条件执行的代码
}
//需求用户输入,用户名:pink,密码:123456, 则提示登录成功,否则提示登录失败
// 示例代码
// 1. 用户输入
let uname = prompt('请输入用户名:')
let pwd = prompt('请输入密码:')
// 2. 判断输出
if (uname === 'pink' && pwd === '123456') {
alert('恭喜登录成功')
} else {
alert('用户名或者密码错误')
}
多分支
释义:
先判断条件1,若满足条件1就执行代码1,其他不执行
若不满足则向下判断条件2,满足条件2执行代码2,其他不执行
若依然不满足继续往下判断,依次类推
若以上条件都不满足,执行else里的代码n
注:可以写N个条件,但这里演示只写2个
语法:
if(条件1){
代码1
}else if (条件2){
代码2
}else if (条件3){
代码3
}else{
代码n
}
三元运算符
其实是比 if 双分支更简单的写法,可以使用 三元表达式
语法:
条件 ? 满足条件执行代码1 : 不满足条件执行代码2
// 三元运算符
// 条件 ? 代码1 : 代码2
console.log(3 > 5 ? 3 : 5)
if (3 < 5) {
alert('真的')
} else {
alert('假的')
}
// 三元写法
3 < 5 ? alert('真的') : alert('假的')
//
let sum = 3 < 5 ? 3 : 5
console.log(sum)// 3
switch语句
找到跟小括号里数据全等的case值,并执行里面对应的代码
若没有全等 === 的则执行default里的代码
例:数据若跟值2全等,则执行代码2
注意事项:
- switch case语句一般用于等值判断,不适合于区间判断
- switch case一般需要配合break关键字使用 没有break会造成case穿透
语法:
switch (表达式) {
case 值1:
代码1
break
case 值2:
代码2
break
case 值3:
代码3
break
default:
代码n
break
}
if 多分支和switch的区别
if 多分支语句和 switch的区别:
-
共同点
- 都能实现多分支选择, 多选1
- 大部分情况下可以互换
-
区别:
-
switch…case语句通常处理case为比较确定值的情况,而if…else…语句更加灵活,通常用于范围判断(大于,等于某个范围)。
-
switch 语句进行判断后直接执行到程序的语句,效率更高,而if…else语句有几种判断条件,就得判断多少次
-
switch 一定要注意 必须是 === 全等,一定注意 数据类型,同时注意break否则会有穿透效果
-
结论:
- 当分支比较少时,if…else语句执行效率高。
- 当分支比较多时,switch语句执行效率高,而且结构更清晰。
-