·JavaScript条件分支语句
一、if条件分支语句
1、if判断语句
当有连续的多个判断,都是同一个变量跟其他不同值做对比走不同路时,
用if条件判断来编写程序执行。
注意:== 在比较时,如果等号两边的数据类型不同,则会先将数据类型
转换为相应类型的数据,然后再进行值的比较。
=== 在比较时,不会进行类型转换,要类型相同和值相同才能返回真。
if (判断条件1){
条件1满足时执行的程序
}else if (判断条件2){
条件2满足时执行的程序
}
......
}else{
以上所有判断条件都不满足时执行的程序
}
1.1. if ...else... 分支语句
if(判断条件){
条件1成立时执行的程序
}else {
条件1不成立时执行的程序
}
注意:可简写为三目运算:条件 ? val1 : val2
表达式的值:看条件是true还是false。
如果条件是true,则值是val1。如果条件是false,则值是val2。
1.2 if语句的嵌套
if(条件1范围){
if(条件2){
满足条件1范围内,并满足条件2成立时执行的程序
}else{
条件2不成立时,执行满足条件1范围的程序
}else {
条件1不成立时执行的程序
}
注:if的嵌套语句可以有多个分支将范围细化执行程序事件。
2、switch...case条件分支语句
当有连续的多个判断,都是同一个变量跟其他不同值做全对比时,
用if判断可以有多种写法,也可以用switch...case条件分支语句来梳理写程序。
switch(检测值){
case 值1 :
检测值 === 值1 时执行的程序
break;
case 值2 :
检测值 === 值2 时执行的程序
break;
case 值3 :
检测值 === 值3 时执行的程序
break;
......
default :
以上条件都不满足时默认要执行的程序
break;
}
注://break的作用是满足条件则执行完当前值的事情便终止下列判断。
3、 三元运算符
三目操作符: ? :
需要三个元素参加的运算符:条件 ? val1 : val2
如果条件是true,则值是val1。如果条件是false,则值是val2。
if改写为三目的必备条件:
1. if的条件为if ...else...形势,而且两个分支必须有执行的代码(只需要赋值给同一个变量)
2. 真假分支有且仅有一行代码
4、相等比较时的特例情况
二、条件循环语句
1. for循环语句
作用: 重复执行一段程序,同时能够解决大量的类似语句书写。
也可以进行循环遍历查找,并在循环下进行判断执行语句。
对于循环来说,要控制循环的次数是很重要
for (1区 ;2区 ; 3区) {4区}
1区:声明计次变量
2区:判断计次变量是否超过限制,即:变量范围
3区: 自增或自减,即:循环遍历间隔
跳出循环:跳出当前次 continue;
跳出当前次后的所有:从本次终止 break;
for循环也可以嵌套循环使用:for (let i = 0; i < 5; i++){
for (let j = 0; j < 6; j++){
console.log(`当i=${i}时,j=${j}`)
}
}
补充:for循环可以实现遍历计数、累加、累乘等连续方法解题。
//for循环实现累乘器(阶乘)
//1*2*3*4*5*6*7*8*9 = 9!
var res = 1
for (var num = 1; num <= 9; num++) {
res *= num
}
console.log("1-9的阶乘是", res)
2. while 循环语句
while循环是for循环的一种简化形式
对于while循环来说,设置循环变量很重要
(1)设置循环变量 【1区】
(2)while(循环执行的条件【2区】){
语句块 【3区】\ 【4区】
}
3. do...while语句
do是做,while是当
对于do...while循环语句来说,设置循环变量和控制循环的次数很重要
(1)设置循环变量 【1区】
(2)do{
语句块 【3区】\ 【4区】
}while(循环执行的条件【2区】)
注意:程序一开始就会执行一次do语句块,再验证是否满足【2区】条件,
如果为真,继续执行do语句块;如果为假,则跳出循环。
do..while是一个后置循环体,先执行后验证,
并且无论条件是否成立都会执行一次语句块。