开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第32天,点击查看活动详情
分支语句(if)
if语句的作用为'条件判断' --> 根据判断结果执行对应的语句
if: 如果
else: 否则
else if: 或者
三种分支情况:
1.单分支: 满足条件就执行if里的代码.不满足就无事发生
2.双分支: 满足条件就执行if里的代码.不满足就执行else里的代码
3.多分支: 逐个判断是否满足if/else if里的条件.满足就执行对应代码.都不满足执行else代码
1.单分支语句(如果)
满足条件就执行if里的代码.不满足就无事发生
语法格式:
if(判断条件){
执行语句
}
案例:
let age = 20
if(age>=18){
document.write('恭喜你.成年了.要懂事了')
}
2.双分支语句(如果/否则)
满足条件就执行if里的代码.不满足就执行else里的代码
语法格式:
if(判断条件){
执行语句
}else{
执行语句
}
案例:
let score = prompt('请输入你的成绩')
if(score>=60){
document.write('及格了.棒<br>')
}else{
document.write('不及格.多喝热水<br>')
}
// 这里的输入没有转number条件判断也会执行.因为js进行了隐式类型转换
多分支: (如果 或者 否者)
逐个判断是否满足if/else if里的条件.满足就执行对应代码.都不满足执行else代码
语法格式:
if(判断条件){
执行语句
}else if(判断条件){
执行语句
}else{
执行语句
}
tips:
1.复杂的条件判断可以用上 &&(and) ||(or)逻辑运算符
2.一组分支里面,if和else只能有一个.else if可以有多个
3.同一件事中.最好用一组分支,不要用多个if
4.写多分支语句时,记得书写顺序
5.在判断中,有值为真,无值为假
0 0.0 null undefined '' 都没有值,都视为false
选择分支语句(switch)
switch本质也是进行条件判断.但是它是基于同一件事处于不同分支时的判断.说白了,switch就是选项操作.
case --> 选择
break --> 结束
default --> 默认值
语法:
switch(数据){
case 情况1:
执行语句
break
case 情况2:
执行语句
break
case 情况3:
执行语句
break
default:
执行语句
break
}
等价于:
if 数据 == 情况1
elif 数据 == 情况2
elif 数据 == 情况3
elif 数据 == 情况4
1.switch括号里放的东西.准确来说叫表达式.里面对数据的要求更精准,所以隐式转换行不通
2.swtich的穿透机制: switch在运行时,不撞break不停止.当满足条件时,会一直执行到break才会结束.有时也可以通过这个机制,来实现特定操作
3.switch和if的使用区别: 如果你要进行判断是一个连续的/有关联性的数据.用switch可以更效率
while循环
循环的目的就是为了减少重复代码量.提高运行效率
循环语句也会涉及到条件判断.当条件为真就循环执行,为假就结束循环
生活中的循环: 单曲循环/抄作业/跑圈
语法格式:
while(循环条件){
执行语句
更新语句
}
let num = 1
while(num <= 100){
console.log(`这是我喝的第${num}杯热水`)
num++
}
!!! 由于js是运行在浏览器里面的.如果写死循环,把你浏览器卡死了.有可能翻车.电脑直接未响应
do while循环
语法格式:
do{
执行语句
}while(循环条件)
用法和while类似. do while的执行流程: 先运行一遍执行语句.再判断循环条件是否满足.
do while --> 先执行一次再判断 --> 注册/登录
while循环有可能一次都不会执行.do while至少会有一次
break与continue
break心软的老麟
循环遇到break时就会直接结束
比如,婷婷老师惹事了.七零老贼罚她抄书100次.然后等婷婷老师抄到70次的时候.就心软了.break掉.就不用再抄了.
let num = 1
while(num <= 100){
document.write(`我是婷婷.这是我抄书的第${num}遍<br>`)
num++
if(num == 70){
document.write('好吧好吧.不用抄了.早点睡觉多喝热水')
break
}
}
continue机智的老麟
当循环遇到continue时会跳过本次循环
一整本书那么多页.'不小心'看漏了几页.写漏了几页.很合理
let num = 0
while(num < 100){
num++
if(num == 70 || num == 50 || num == 13 || num == 57 || num ==66){
continue
}
document.write(`我在写第${num}页的作业<br>`)
}
for循环
for循环/迭代循环 --> 在循环次数已知的情况下.用for循环会更高效
for(初始化变量;循环条件;更新操作){
执行语句
}
for(let i=1; i<= 10; i++){
console.log(i)
}
for(let i=1; i<= 5; i++){
for(let j=1; j<=10;j++){
document.write('❤')
}
document.write('<br>')
}