JS条件语句
1.if 结构
语法:
if (条件){
满足条要执行的语句块
}
执行流程:
1、判断条件
2、如果条件为真,则执行 语句块 中的内容
3、如果条件为假,则跳过语句块去执行其他内容
注意:
(1)if中的条件,最好是一个boolean的值,如果不是boolean类型,则会自动转换以下情况,条件会自动转换为 false
if(0)
if(0.0)
if(undefined)
if(null)
if("")
if(NaN)
(2)if 后的 { } 是可以被省略的,如果省略的话,只控制 if 下的第一条语句
2.if … else … 结构
语法:
if(条件){
满足条件时,执行的语句块
}else{
不满足条件时,执行的语句块
}
练习:
从弹框中,输入一个年份信息,判断该年是否为闰年,并给出提示
function showYear(){ var year = window.prompt("请输入一个年份:"); if ((year % 4 == 0)&&(year % 100 != 0 )||(year % 400 == 0 )){ //判断是否为闰年的条件 console.log(year+"年是闰年"); }else{ console.log(year+"年不是闰年") } }
3.if … else if… 结构
语法:
if(条件1){
满足条件1时,要执行的语句块
}else if(条件2){
满足条件2时,要执行的语句块
}else if(条件3){
满足条件3时,要执行的语句块
}else{
以上条件都不满足时执行的语句块
}
练习:从弹框中录入考试成绩,如果成绩>=90,输出A;如果成绩>=80,输出B;如果成绩>=60,输出C;其他情况输出D
function showScore(){ var score = window.prompt("请输入你的成绩:"); //成绩 >=90,为A //成绩 >=80,为B //成绩 >=60,为C //成绩其他情况为D if (score >= 90){ console.log("你的成绩等级为A"); }else if(score >= 80){ console.log("你的成绩等级为B"); }else if(score >= 60){ console.log("你的成绩等级为C"); }else{ console.log("你的成绩等级为D"); } }
4.switch … case结构
语法:
switch(变量){
case 常量值1:
语句块1;
break; //通过 break 结束switch的执行(可选 )
case 常量值2:
语句块2;
break; //可选
default:
语句块n;
break; //可选
}
练习:
(1)使用 特殊的 switch 结构完成要求:输入年 、月,输出 该月有多少天
function testSwitch(){ var year = prompt("请输入年份"); var month = Number(prompt("请输入月份")); switch(month){ case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : console.log(year+"年"+month+"月有31天"); break; case 4 : case 6 : case 9 : case 11 : console.log(year+"年"+month+"月有30天"); break; case 2 : if((year%4==0)&&(year%100!=0)||(year%400==0)){ console.log(year+"年"+month+"月有29天") }else{ console.log(year+"年"+month+"月有28天") } break; default : console.log("您输入有误"); } }
(2)使用switch…case语句编写程序,要求当输入年月日后计算出这一天是该年的第几天
function Days(){ var year = Number(prompt("请输入年份:")); var month = Number(prompt("请输入月份:")); var day = Number(prompt("请输入日期:")); var totalDay = 0; switch(month-1){ case 11 : totalDay += 30; case 10 : totalDay += 31; case 9 : totalDay += 30; case 8 : totalDay += 31; case 7 : totalDay += 31; case 6 : totalDay += 30; case 5 : totalDay += 31; case 4 : totalDay += 30; case 3 : totalDay += 31; case 2 : if((year%4==0)&&(year%400!=0)||(year%400==0)){ totalDay +=29; }else{ totalDay +=28; } case 1 : totalDay += 31; } totalDay +=day; console.log(year+"年"+month+"月"+day+"日是第"+totalDay+"天"); }