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+"天");
}
